home
api
develop
badge
wallpaper
rhaco.org
PHP library & setup framework
lingr
bugs
jaja
arbo
rhaco_1_x
jaja rev. 279
trunk/mais/index.php
279:
276: mais初期インポート
setTemplate("index.html"); $sender = null; function campChange($value){ return str_replace(array("づ","ぢ","を","ぁ","ぃ","ぅ","ぇ","ぉ","ゃ","ゅ","ょ","ぅ","っ","ー"), array("ず","じ","お","あ","い","う","え","お","や","ゆ","よ","つ",""),$value); } if($flow->isVariable("sender") && $flow->getVariable("sender") != ""){ $sender = $db->get(new Sender(),new C( Q::eq(Sender::columnName(),$flow->getVariable("sender")), Q::greater(Sender::columnUpdated(),DateUtil::add(time(),0,-5)) )); if($sender === null){ $sender = new Sender(); $sender->setName($flow->getVariable("sender")); $sender = $sender->save($db); $flow->setSession("id",$sender->getId()); $flow->setSession("name",$flow->getVariable("sender")); }else{ $flow->clearSession("id"); $flow->clearSession("name"); ExceptionTrigger::raise(new GenericException("{1}は利用中です",$flow->getVariable("sender"))); } $sender = null; } if($flow->isSession("id")){ $sender = $db->get(new Sender(),new C( Q::eq(Sender::columnName(),$flow->getSession("name")), Q::gte(Sender::columnId(),$flow->getSession("id")) )); if(sizeof($sender) != 1){ $flow->clearSession("id"); $flow->clearSession("name"); } } if($sender === null){ $flow->setTemplate("login.html"); }else{ if($flow->isPost() && trim($flow->getVariable("sentence")) != ""){ $last = $db->get(new Siritori(),new C(Q::orderDesc(Siritori::columnCreated()))); $inKana = $yahoo->kana($flow->getVariable("sentence")); if(StringUtil::substring($inKana,-1) == "ん" || (StringUtil::substring(campChange($last->getKana()),-1) != StringUtil::substring(campChange($inKana),0,1) || preg_match("/[a-zA-Z]/",StringUtil::substring(campChange($inKana),-1))) ){ ExceptionTrigger::raise(new GenericException("It is impossible! => {1}({2})",array($flow->getVariable("sentence"),$inKana))); $sender->setFail($sender->getFail() + 1); $sender->save($db); }else{ $obj = new Siritori(); $obj->setSentence($flow->getVariable("sentence")); $obj->setKana($inKana); $obj->setSenderId($sender->getId()); if($obj->setGoogleImages()){ $db->insert($obj); $db->commit(); $sender->setSuccess($sender->getSuccess() + 1); $sender->save($db); $db->commit(); }else{ ExceptionTrigger::raise(new GenericException("There is not it! => {1}({2})",array($flow->getVariable("sentence"),$inKana))); } if(ExceptionTrigger::isException(new DuplicateException())){ $flow->setVariable("unique",$db->get(new Siritori(),new C(Q::fact(),Q::eq(Siritori::columnSentence(),$flow->getVariable("sentence"))))); $flow->setTemplate("unique.html"); } } } } $flow->setVariable("sneders",$db->select(new Sender(),new C(Q::greater(Sender::columnUpdated(),DateUtil::add(time(),0,-5))))); $flow->setVariable("history",$db->select(new Siritori(),new C(Q::fact(),Q::orderDesc(Siritori::columnCreated()),Q::pager(10)))); $flow->write(); ?>