lijkt wel bezigheidstherapie haha :p
ben nu weeral eens verbannen vrees ik :p
Owh daar heb jij dus ook last van?
(Vii hier :-))
lijkt wel bezigheidstherapie haha :p
ben nu weeral eens verbannen vrees ik :p
Owh daar heb jij dus ook last van?
(Vii hier :-))
zoiets als dat?
Volgens mij ligt je website eruit
edit:
Nee ik wordt geblokked.. :')
succes kerel, je hebt veel gedaan voor ICTS :)!
IRC is een chat protocol waarmee je in verschillende kanalen kan chatten deze kan je ook beheren etc.
Doormiddel van een automatisering bot kan je bepaalde kanaal handeling makkelijker doen of kan in de chat bijv:
!imdb the hobbit
doen en krijg je informatie over die film. (voorbeeld uiteraard zit niet hierin)
Het script is basis programmering om een "geautomatiseerde user" te beginnen waarmee je zulke dingen kan bereiken.
Zie hieronder :-):
<?php
ini_set('max_execution_time', -1);
class configuration {
public $botConfig;
public function __construct() {
$this->botConfig = array();
}
public function createNewBot($hostname, $identity, $server, $realname, $nickname, $port, $domain) {
if (count($this->botConfig) == 0) {
$botConfigID = 0;
} else {
$botConfigID = count($this->botConfig);
}
$this->botConfig[$botConfigID]['hostname'] = $hostname;
$this->botConfig[$botConfigID]['identity'] = $identity;
$this->botConfig[$botConfigID]['server'] = $server;
$this->botConfig[$botConfigID]['realname'] = $realname;
$this->botConfig[$botConfigID]['nickname'] = $nickname;
$this->botConfig[$botConfigID]['port'] = $port;
$this->botConfig[$botConfigID]['domain'] = $domain;
return $botConfigID;
}
}
class socket {
public $sockets;
public $socketError;
public function __construct() {
$this->sockets = array();
$this->socketError = array();
}
public function create_socket($domain = 'ipv4') {
if ($domain == 'ipv6') {
$this->sockets[] = socket_create(AF_INET6, SOCK_STREAM, SOL_TCP);
} else {
$this->sockets[] = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
}
$insertedArrayID = (count($this->sockets) - 1);
if ($this->sockets[$insertedArrayID] == false) {
$this->$socketError[$insertedArrayID]['errorCode'] = socket_last_error($this->sockets[$insertedArrayID]);
$this->$socketError[$insertedArrayID]['errorMessage'] = socket_strerror($errorCode);
socket_clear_error($this->sockets[$insertedArrayID]);
return $socketError;
} else {
return $insertedArrayID;
}
}
public function bind_socket($socketID = 0, $hostname) {
if (is_int($socketID)) {
/* We can not make any more sockets until SO_REUSEPORT comes available on linux */
socket_set_option($this->sockets[$socketID], SOL_SOCKET, SO_REUSEADDR, 1);
if (socket_bind($this->sockets[$socketID], $hostname, $this->configurationClass->botConfig[$socketID]['port']) == false) {
$this->$socketError[$socketID]['errorCode'] = socket_last_error($this->sockets[$socketID]);
$this->$socketError[$socketID]['errorMessage'] = socket_strerror($errorCode);
socket_clear_error($this->sockets[$socketID]);
return $socketError;
} else {
return true;
}
} else {
return false;
}
}
public function connect_socket($socketID = 0, $ip, $port) {
if (is_int($socketID)) {
socket_connect($this->sockets[$socketID], $ip, $port);
if ($this->sockets[$socketID] == false) {
$this-$socketError[$socketID]['errorCode'] = socket_last_error($this-$sockets[$socketID]);
$this-$socketError[$socketID]['errorMessage'] = socket_strerror($errorCode);
socket_clear_error($this-$socket[$socketID]);
return $socketError;
} else {
return true;
}
} else {
return false;
}
}
public function write_socket($socketID = 0, $bufferData) {
if (is_int($socketID)) {
socket_write($this->sockets[$socketID], $bufferData . "\r\n");
} else {
return false;
}
}
public function read_socket($socketID = 0) {
if (is_int($socketID)) {
$buffer = socket_read($this->sockets[$socketID], 65000, PHP_NORMAL_READ);
if ($buffer == '\n' OR $buffer == '\r') {
continue;
}
return $buffer;
} else {
return false;
}
}
public function shutdown_socket($socketID = 0) {
if (is_int($socketID)) {
socket_shutdown($this->sockets[$socketID], 2);
$this->close_socket[$socketID];
} else {
return false;
}
}
protected function close_socket($socketID = 0) {
if (is_int($socketID)) {
socket_close($this->sockets[$socketID]);
return;
} else {
return false;
}
}
}
class irc extends socket {
private $configurationClass;
public function setconfigrationClass($class) {
$this->configurationClass = $class;
}
public function connectIRC($botID) {
$this->create_socket($this->configurationClass->botConfig[$botID]['domain']);
$this->bind_socket($botID, $this->configurationClass->botConfig[$botID]['hostname'] . $botID);
$this->connect_socket($botID, $this->configurationClass->botConfig[$botID]['server'], $this->configurationClass->botConfig[$botID]['port']);
$this->initIRCConnection($botID);
return true;
}
protected function initIRCConnection($socketID = 0) {
$this->write_socket($socketID, 'USER ' . $this->configurationClass->botConfig[$socketID]['identity'] . ' ' .
$this->configurationClass->botConfig[$socketID]['hostname'] . ' ' .
$this->configurationClass->botConfig[$socketID]['server'] . ' :' .
$this->configurationClass->botConfig[$socketID]['realname']);
$this->write_socket($socketID, 'NICK ' . $this->configurationClass->botConfig[$socketID]['nickname']);
return true;
}
public function playPingPong($socketID = 0, $pingID) {
$this->write_socket($socketID, 'PONG ' . $pingID);
return true;
}
}
$configurationClass = new configuration();
$ircClass = new irc();
$configurationClass->createNewBot(0, 'viibot', 'irc.onlinegamesnet.net', 'vii realname', 'viibot', 6667, 'ipv4');
$ircClass->setconfigrationClass($configurationClass);
foreach ($configurationClass->botConfig AS $bot => $botData) {
$ircClass->connectIRC($bot);
}
$i = 0;
while (1) {
foreach ($configurationClass->botConfig AS $botID => $botData) {
$usableID = intval($botID);
$bufferData = $ircClass->read_socket($usableID);
$splitBuffer = split(' ', $bufferData);
if ($splitBuffer[0] = 'PING') {
$ircClass->playPingPong($usableID, $splitBuffer[1]);
}
}
}
?>
Toon Meer
Ik ga hem zelf rebuilden met het gebruik met pcntl_fork :-).
Enige wat de bot nu kan is connecten naar een irc server en idle'en :-).
in de while (1) { } loop zal je het een en ander nog wel zelf moeten defineren aan commands :).
Let op: ondanks dat er wel de functionaliteit in zit dat er meerdere sockets te gelijk kunnen opereren binnen script kan het nu niet dat 2 bots over de zelfde port luisteren (Standaard 6667).
werkploeg id van die dag toevoegen ab he afspraken,
waar je eventueel 1 tabel extra hebt:
- Werploegen met koppeling naar een persoon zoals bijv:
user_id, werkploeg_id, dag
daar aan kan je het dan koppelen, kan me ook dynamisch elke dag de ploegen indelen.
ligt eraan hoe je dit 3 tabel hebt aangezien je nu alleen 2 tabellen heb die je aan elkaar kan koppelen met afspraken je hebt geen verschil in hoe je deze gaat indelen, wel kan het zo zijn dat werkploeg a postcode gebied b rijd, en werkploeg c postcode gebied d, maar anders lijkt het me lastig worden.
Woltlab burning board!!
Waar ook dit forum op gebouwd is, framework wat er btw achter zit is ook nog eens gratis te downloaden en te gebruiken het forum zelf is een "plugin" erop.
ik zelf werk met kohana wat ik wel een prettig framework vind,
daarnaast heb je tal van mogelijkheden wil je echt een framework wat veel kan maar ook moeilijk te leren is pak Zend,
wil je weer wat makkelijker pak je Yii of iets in die richting :).
1x een "=" gebruiken zal het helaas niet helemaal doen, denk dat 2x een "=" beter werkt.
Daarnaast realiseer je wel dat CI te koop staat om over gekocht te worden voor ontwikkeling en dat is sinds vorig jaar juni.
Sinds dien wordt er niet heel hard gewerkt aan nieuwe functionaliteiten voor CI. Houd er rekening mee dat ze op een gegeven moment zeggen dat ze er helemaal mee kappen.
met de tabel die je hebt aangeven kom je heel ver in sql:
http://sqlfiddle.com/#!2/75c1a/1/2
Simpele loop nu nog in php om alles in een array te kiepen en dan een json_encode eromheen en done
in het voorbeeld in bijgevoegde link kan je door middel van:
het userid veranderen om mee te testen :)!
ERD schema's maken is maar een klein onderdeel van database beheer?
Maar goed je moet ergens beginnen :-). Wel een sweet idee.
Ben benieuwd wat er met de database lessen wordt uitgelegd :).
Je gebruikt voor je loop $rij en bij $lastmove gebruik je $user dat gaat dan niet werken. Daarnaast kan je de tijd beter laten berekenen binnen je database layer zodat je php minder hoeft te doen en toch dus net wat efficiënter te werk gaat :).
Dan baseer je dat op het moment toch echt fout; de kosten waar jij over praat zijn de WIK (Wet Incasso Kosten) kosten. Deze wet is sinds juli vorig jaar actief. Dit houd in dat bij het bedrijf waar de schuld is de incasso kosten mag krijgen. (Minimaal 40 euro, kan hoger zijn zie: http://www.lavg.nl/wik/calculator) Deze kosten kunnen maar eenmalig door een van de partijen worden geëist dus als jij 40 euro vraagt kan het incasso bureau NOOIT meer de 45 euro vragen die heb jij al gevraagd.
Daarnaast moet je er wel rekening mee houden met de laatste aanmaning die je stuurt dat hier expliciet in moet staan dat er indien niet betaald wordt er pas 40 euro incassokosten bij komen dit bedrag (40 euro) hoeft niet betaald te worden indien de schuldhebbende binnen 14 dagen (nadat de brief is geweest over die 40 euro) betaald heeft.
Indien die kosten niet worden vermeld in je brief (dus dat jij opeens uit het niks 40 euro erbij doet bij het totaal bedrag) heb je kans als het uit eindelijk tot aan de rechter komt dat heel de schuld wordt afgewezen in verband met foute kosten berekening.
My 2 cents
Waar baseer jij die 40 euro en nogmaals 45 euro op i.v.m met incasso bureau? (Dit in je algemene voorwaarden)
De staffel van de WIK kosten beginnen bij 40 euro (Volgens mij is het 40 euro tot 500 euro maar daar kan ik fout in zitten). Dus de WIK kosten (wat dus vroeger buitengerechtelijke kosten waren) is altijd minimaal 40 euro.
Ik zeg niet dat het fout gaat ik zeg dat ik het sowieso vreemd vind. Als er een bedrag van 12 euro aan het incasso bureau wordt overgedragen als opdracht en jij krijgt een aanmaning binnen die al meteen de 40 euro berekent dan moet er al een nakoming brief zijn geweest waarin wordt aan gegeven dat er 40 euro incassokosten bij komen indien er niet betaald wordt.
Aangezien jij nu gelijk een brief krijgt van het incasso bureau waar al 40 euro wordt berekend betekent dat de hosting deze brief verstuurd moet hebben. (Ik zou je mail of iets anders is nakijken of je dit ooit hebt ontvangen) indien dit niet het geval is, is het incasso bureau ook al fout bezig.
Daarnaast als jij particulier bent mag het incasso bureau de BTW doorberekenen aan jou wat betekent dat er nog eens een kosten plaatje van ongeveer 12 euro bovenop de 40 euro komt. Dus ik vind het vreemd dat er een bedrag van 52 euro wordt geincasseerd dit is dus zonder het BTW bedrag.
ziggo spots!
Werkt als een trein als ik in breda rond loop.
Wat ook nog een leuke is sinds afgelopen juli (2012) is er een nieuwe wet van kracht de WIK. (Wet incasso kosten) deze wet bepaald dat of de opdrachtgever (hosting) of het incasso bureau kosten mogen rekenen voor het incasseren. Hierbij echter moet nog wel een bericht verstuurd worden dat dit bedrag berekent gaat wordt mits je niet binnen 14 dagen betaald. Een incasso bureau mag niet gelijk deze kosten berekenen. Dus ik zou je brieven van het incasso bureau nog maar eens goed nalezen of dit niet een nakomingsbrief is die het aangeeft dat de kosten gaan berekend worden.
De hosting kan deze brief ook gestuurd hebben zodat hij deze kosten (40 euro) mag hebben echter moet hij wel hier een administratie van hebben en kopieën zodat deze opgevraagd kunnen worden zowel voor het incasso bureau als voor de debiteur (jij).
zie hier:
http://www.lavg.nl/wik/calculator
dat het bet een bedrag van 12 euro incasso kosten van 40 euro wordt berekend en 21% btw overheen komt. Ik weet niet of jij particulier bent of niet indien dit wel het geval is dan klopt het bedrag ook nog eens niet...