コード例 #1
0
ファイル: elation_orm.php プロジェクト: jbaicoianu/elation
 function controller_orm($args)
 {
     /*
         if (!User::authorized("orm"))
           throw new Exception("not allowed");
     */
     /*
     $user = User::singleton();
     if (!($user->isLoggedIn() && $user->HasRole("ORM"))) // display the access violation message
       $vars->SetTemplate("access_violation.tpl");
     */
     if (!empty($args["ormaction"]) && !empty($args["model"])) {
         $vars["model"] = $args["model"];
         $vars["ormcfg"] = new OrmModel($args["model"]);
         if ($args["ormaction"] == "create" && !empty($args["classname"])) {
             $ormclass = new OrmClass($vars["ormcfg"]->classes->{$args["classname"]});
             //$sql = $ormclass->getCreateSql();
             $sqlkey = "db." . $args["model"] . "." . $ormclass->table . ".create:nocache";
             /*
             $outlet = Outlet::getInstance();
             $pdo = $outlet->getConnection()->getPDO();
             if ($pdo) {
               $vars["sql"] = $ormclass->getCreateSQL();
               try {
                 $pdo->query($vars["sql"]);
                 $vars["success"] = "Table '{$ormclass->table}' created successfully";
               } catch(Exception $e) {
                 $vars["error"] = $e->getMessage();
               }
             }
             */
             try {
                 if (DataManager::create($sqlkey, $ormclass->table, $ormclass->getColumns())) {
                     $ret["success"] = "Table '{$ormclass->table}' created successfully";
                 }
             } catch (Exception $e) {
                 $ret["error"] = $e->getMessage();
             }
         }
     }
     return $this->GetComponentResponse("./orm.tpl", $vars);
 }