home
api
develop
badge
wallpaper
rhaco.org
PHP library & setup framework
lingr
bugs
jaja
arbo
rhaco_1_x
jaja rev. 268
branches/crud/index.php
setupのcrud部のみ取り出しました
273: ライセンス表示?
268: setupのcrud部のみ取り出しました
map(0) == "logout"){ // RequestLogin::logout(); // Header::redirect(Env::called()); //} //RequestLogin::loginRequired(new RequestLoginConditionFile(Rhaco::path("__settings__.php"))); $exvariables = array(); $tableObject = null; $adminredirect = Rhaco::url(); $modelname = $flow->map(Rhaco::constant(VAR_TABLE_MAP)); if(!empty($modelname)){ $tableObject = Rhaco::obj("model.".$modelname); if(Variable::istype("TableObjectBase",$tableObject)){ $adminredirect = Rhaco::page("index")."/list/".$modelname; foreach($flow->getVariable() as $name => $value){ if(preg_match("/^save_(.+)$/",$name,$match)){ $adminredirect = Rhaco::page("index")."/".$match[1]."/".$modelname; break; } } } } $asc = (Variable::iequal($flow->getVariable("so"),$flow->getVariable("o")) && $flow->getVariable("a") == "a") ? "d" : "a"; $exvariables = array_merge($exvariables,array("t"=>$flow->map(1),"o"=>$flow->getVariable("so"),"a"=>$asc)); $tableModels = dbConnections(); $pattern = array( "^$"=>array("template"=>"generic/index.html","var"=>array("connections"=>$tableModels)),//array("class"=>"Crud","method"=>"menu","var"=>array("connections"=>$tableModels)), "^list/"=>array( "template"=>"generic/list.html", "method"=>"read", "args"=>array($tableObject,null,"admin") )); if(Rhaco::constant(VAR_C)){ if(Rhaco::constant(VAR_CONFIRM)){ $method = "confirmedCreate"; }else{ $method = "create"; } $pattern["^create/.+$"] = array( "template"=>"generic/create_form.html", "method"=>$method, "args"=>array($tableObject,array($adminredirect,true)) ); } if(Rhaco::constant(VAR_U)){ if(Rhaco::constant(VAR_CONFIRM)){ $method = "confirmedUpdate"; }else{ $method = "update"; } $pattern["^update/.+?/([^/]+)[/]*$"]=array( "template"=>"generic/update_form.html", "method"=>$method, "args"=>array($tableObject,new Criteria(Criterion::fact()),array($adminredirect,true)) ); } if(Rhaco::constant(VAR_D)){ $pattern["^drop/.+?/([^/]+)[/]*"]=array( "template"=>"generic/drop_form.html", "method"=>"drop", "args"=>array($tableObject,new Criteria(Criterion::fact()),array($adminredirect)) ); } if(Rhaco::constant(VAR_E)){ $pattern["^export/(.+)[/]*$"]=array( "template"=>"generic/list.html", "method"=>"export", "args"=>array($tableObject,null,"admin") ); } if(Rhaco::constant(VAR_I)){ $pattern["^import/(.+)[/]*$"]=array( "template"=>"generic/list.html", "method"=>"import", "args"=>array($tableObject) ); } //L::d($pattern); $parser = Urls::parser($pattern); //L::d($parser->filename); if($parser->variables['generic_title']===Message::_("confirm")){ $parser->setTemplate('generic/confirm.html'); } //L::d($parser); $generalmenu = array(); if(RequestLogin::isLoginSession()) $generalmenu["logout"] = "logout"; $parser->setVariable("dblink",array( "index"=>"/", "list"=>"/list/", "create"=>"/create/", "drop"=>"/drop/", "update"=>"/update/", "import"=>"/import/", "export"=>"/export/", )); $parser->setVariable("generalmenu",$generalmenu); $parser->setVariable($exvariables); $parser->setVariable("phpvar",phpversion()); $parser->write(); function dbConnections(){//$projectModel){ $results = array(); if(FileUtil::exist(Rhaco::lib("model/table"))){ foreach(FileUtil::ls(Rhaco::lib("model/table")) as $file){ $model = substr($file->getOriginalName(),0,-5); $obj = Rhaco::obj("model.".$model); if(Variable::istype("TableObjectBase",$obj)){ $connection = $obj->connection(); if(!isset($results[$connection->id])){ $results[$connection->id] = array("tables"=>array()); } $results[$connection->id]["tables"][$model] = $obj; } } } return $results; } ?>