[Phpfreechat-svn] SF.net SVN: phpfreechat: [520] trunk/src
Status: Beta
Brought to you by:
kerphi
From: <ke...@us...> - 2006-05-28 12:23:51
|
Revision: 520 Author: kerphi Date: 2006-05-28 05:23:40 -0700 (Sun, 28 May 2006) ViewCVS: http://svn.sourceforge.net/phpfreechat/?rev=520&view=rev Log Message: ----------- Refactoring on the 'cmdtoplay' code Modified Paths: -------------- trunk/src/commands/ban.class.php trunk/src/commands/kick.class.php trunk/src/commands/update.class.php trunk/src/phpfreechat.class.php Modified: trunk/src/commands/ban.class.php =================================================================== --- trunk/src/commands/ban.class.php 2006-05-28 11:56:07 UTC (rev 519) +++ trunk/src/commands/ban.class.php 2006-05-28 12:23:40 UTC (rev 520) @@ -15,10 +15,8 @@ if ($nickid != "undefined") { $cmdtoplay = $container->getMeta("cmdtoplay", "nickname", $nickid); - if (is_string($cmdtoplay)) $cmdtoplay = unserialize($cmdtoplay); - if (!is_array($cmdtoplay)) $cmdtoplay = array(); - if (!isset($cmdtoplay["leave"])) $cmdtoplay["leave"] = array(); - $cmdtoplay["leave"][] = $recipientid; // ban the user from the current channel //_pfc("banished by %s", $sender); + $cmdtoplay = ($cmdtoplay == NULL) ? array() : unserialize($cmdtoplay); + $cmdtoplay[] = array("leave",$recipientid); // ban the user from the current channel //_pfc("banished by %s", $sender); $container->setMeta(serialize($cmdtoplay), "cmdtoplay", "nickname", $nickid); } Modified: trunk/src/commands/kick.class.php =================================================================== --- trunk/src/commands/kick.class.php 2006-05-28 11:56:07 UTC (rev 519) +++ trunk/src/commands/kick.class.php 2006-05-28 12:23:40 UTC (rev 520) @@ -16,10 +16,8 @@ if ($nickid != "undefined") { $cmdtoplay = $container->getMeta("cmdtoplay", "nickname", $nickid); - if (is_string($cmdtoplay)) $cmdtoplay = unserialize($cmdtoplay); - if (!is_array($cmdtoplay)) $cmdtoplay = array(); - if (!isset($cmdtoplay["leave"])) $cmdtoplay["leave"] = array(); - $cmdtoplay["leave"][] = $recipientid; // kick the user from the current channel //_pfc("kicked by %s", $sender); + $cmdtoplay = ($cmdtoplay == NULL) ? array() : unserialize($cmdtoplay); + $cmdtoplay[] = array("leave", $recipientid); // kick the user from the current channel //_pfc("kicked by %s", $sender); $container->setMeta(serialize($cmdtoplay), "cmdtoplay", "nickname", $nickid); } } Modified: trunk/src/commands/update.class.php =================================================================== --- trunk/src/commands/update.class.php 2006-05-28 11:56:07 UTC (rev 519) +++ trunk/src/commands/update.class.php 2006-05-28 12:23:40 UTC (rev 520) @@ -29,11 +29,9 @@ // play the other commands $nickid = $container->getNickId($u->nick); $cmdtoplay = $container->getMeta("cmdtoplay", "nickname", $nickid); - if (is_string($cmdtoplay)) $cmdtoplay = unserialize($cmdtoplay); - if (!is_array($cmdtoplay)) $cmdtoplay = array(); - foreach($cmdtoplay as $cmdstr => $cmdparams) - foreach($cmdparams as $cmdparam) - $xml_reponse->addScript("pfc.handleResponse('update', 'cmdtoplay', Array('".$cmdstr."','".addslashes($cmdparam)."'));"); + $cmdtoplay = ($cmdtoplay == NULL) ? array() : unserialize($cmdtoplay); + foreach($cmdtoplay as $cmdtmp) + $xml_reponse->addScript("pfc.handleResponse('update', 'cmdtoplay', Array('".$cmdtmp[0]."','".addslashes($cmdtmp[1])."'));"); $container->rmMeta("cmdtoplay", "nickname", $nickid); // --- Modified: trunk/src/phpfreechat.class.php =================================================================== --- trunk/src/phpfreechat.class.php 2006-05-28 11:56:07 UTC (rev 519) +++ trunk/src/phpfreechat.class.php 2006-05-28 12:23:40 UTC (rev 520) @@ -353,19 +353,53 @@ // (warn other user that someone talk to him) $container =& $c->getContainerInstance(); $cmdtoplay = $container->getMeta("cmdtoplay", "nickname", $u->privmsg[$recipientid]["pvnickid"]); - if (is_string($cmdtoplay)) $cmdtoplay = unserialize($cmdtoplay); - if (!is_array($cmdtoplay)) $cmdtoplay = array(); - if (!isset($cmdtoplay["privmsg2"])) $cmdtoplay["privmsg2"] = array(); - if (!in_array($u->nick, $cmdtoplay["privmsg2"])) + $cmdtoplay = ($cmdtoplay == NULL) ? array() : unserialize($cmdtoplay); + //if (!isset($cmdtoplay["privmsg2"])) $cmdtoplay["privmsg2"] = array(); + if (!in_array(array("privmsg2", $u->nick), $cmdtoplay)) { - $cmdtoplay["privmsg2"][] = $u->nick; + $cmdtoplay[] = array("privmsg2", $u->nick); $container->setMeta(serialize($cmdtoplay), "cmdtoplay", "nickname", $u->privmsg[$recipientid]["pvnickid"]); - // $xml_reponse->addScript("alert('cmdtoplay[]=".serialize($cmdtoplay)."');"); + //$xml_reponse->addScript("alert('cmdtoplay[]=".serialize($cmdtoplay)."');"); } } - + } + + /* + // before playing the wanted command + // play the found commands into the meta 'cmdtoplay' + $container =& $c->getContainerInstance(); + $nickid = $container->getNickId($u->nick); + $morecmd = true; + while($morecmd) + { + // take a command from the list + $cmdtoplay = $container->getMeta("cmdtoplay", "nickname", $nickid); + $cmdtoplay = ($cmdtoplay == NULL) ? array() : unserialize($cmdtoplay); + $cmdtmp = array_pop($cmdtoplay); + if ($cmdtmp != NULL) + { + // store the new cmdtoplay list (-1 item) + $cmdtoplay = $container->setMeta("cmdtoplay", "nickname", $nickid); + + // play the command + + // check if there is other command to play + $cmdtoplay = $container->getMeta("cmdtoplay", "nickname", $nickid); + $cmdtoplay = ($cmdtoplay == NULL) ? array() : unserialize($cmdtoplay); + } + + $morecmd = (count($cmdtoplay) > 0); + } + + + */ + + + + + $cmd =& pfcCommand::Factory($rawcmd); if ($cmd != NULL) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |