Ejemplo n.º 1
0
 public function value()
 {
     $id = $this->module->orm->field("id");
     $ormRel = ORM::make($this->linkTableName);
     $values = array();
     $entries = $ormRel->where($this->linkFromKeyField, "=", $id)->leftJoin($this->relationTableName, array($this->relationTableName . "." . $this->relationKeyField, "=", $this->linkTableName . "." . $this->linkToKeyField))->orderByAsc($this->relationTableName . "." . $this->relationNameField)->find();
     foreach ($entries as $entry) {
         $values[] = (int) $entry->field($this->linkToKeyField);
     }
     return $values;
 }
Ejemplo n.º 2
0
 function __construct($connName = null)
 {
     if (!is_null(static::$tableName)) {
         $tableName = static::$tableName;
     } else {
         $tableName = Str::lower(preg_replace(array('/\\\\/', '/(?<=[a-z])([A-Z])/', '/__/'), array('_', '_$1', '_'), ltrim(get_class($this), '\\')));
     }
     if (is_null($connName) && !is_null(static::$connName)) {
         $connName = static::$connName;
     }
     $this->orm = ORM::make($tableName, $connName);
     $this->orm->className = get_class($this);
 }
Ejemplo n.º 3
0
 public static function routes()
 {
     static::loadModules();
     foreach (static::$modulesObjects as $object) {
         $object->routes();
     }
     //Load login routes.. login, logoff, etc..
     Router::register("GET", "manager/api/config/", function () {
         header("Content-Type: text/javascript; charset=utf-8");
         if (Request::isLocal()) {
             if (@DB::query("select id from " . J_TP . "manager_users LIMIT 1;")->success === false) {
                 DB::query("CREATE TABLE `" . J_TP . "manager_users` (\n\t\t\t\t\t\t\t\t`id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t\t\t\t`name` varchar(255) DEFAULT NULL,\n\t\t\t\t\t\t\t\t`email` varchar(255) DEFAULT NULL,\n\t\t\t\t\t\t\t\t`typeID` int(11) unsigned NULL,\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t`username` varchar(255) DEFAULT NULL,\n\t\t\t\t\t\t\t\t`password` varchar(40) DEFAULT NULL,\n\t\t\t\t\t\t\t\t`active` int(11) DEFAULT NULL,\n\t\t\t\t\t\t\t\tPRIMARY KEY (`id`)\n\t\t\t\t\t\t\t) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;");
                 $user = ORM::make("manager_users");
                 $user->name = "Joy Interactive";
                 $user->email = "*****@*****.**";
                 $user->username = "******";
                 $user->password = "******";
                 $user->typeID = 1;
                 $user->active = 1;
                 $user->save();
             }
             if (@DB::query("select id from " . J_TP . "manager_tokens LIMIT 1;")->success === false) {
                 DB::query("CREATE TABLE `" . J_TP . "manager_tokens` (\n\t\t\t\t\t\t\t\t`id` int(40) NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t\t\t\t`userID` int(11) DEFAULT NULL,\n\t\t\t\t\t\t\t\t`typeID` int(11) DEFAULT NULL,\n\t\t\t\t\t\t\t\t`token` varchar(100) DEFAULT NULL,\n\t\t\t\t\t\t\t\t`expirationDate` datetime DEFAULT NULL,\n\t\t\t\t\t\t\t\tPRIMARY KEY (`id`)\n\t\t\t\t\t\t\t) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;");
             }
         }
         $config = array();
         $config["api_url"] = URL::to("api/");
         return "window.config = " . json_encode($config);
     });
     Router::register("GET", "manager/api/structure/", function () {
         return Response::json(Structure::modules());
     });
     Router::register("POST", "manager/api/token/", function () {
         return User::generateToken();
     });
     Router::register("POST", "manager/api/token/renew/", function () {
         return User::renewToken();
     });
     Router::register("GET", "manager/api/logout/", function () {
         return User::logout();
     });
     Router::register("GET", "manager/api/customJS/", function () {
         $path = J_MANAGERPATH . "custom.js";
         if (file_exists($path)) {
             return File::get($path);
         }
     });
 }
Ejemplo n.º 4
0
 public function value()
 {
     if (!$this->multiple) {
         $value = $this->module->orm->field($this->name);
         return $this->format($value);
     } else {
         $id = $this->module->orm->field("id");
         $ormRel = ORM::make($this->multipleTable);
         $values = array();
         $entries = $ormRel->where($this->multipleFieldFrom, "=", $id)->find();
         foreach ($entries as $entry) {
             $values[] = (int) $entry->field($this->multipleFieldTo);
         }
         return $values;
     }
 }
Ejemplo n.º 5
0
 private static function token($emitError = true)
 {
     $token = Request::get("access_token", Request::post("access_token", Session::get("j_manager_token", "")));
     $result = array();
     if ($token != "") {
         $orm = ORM::make("manager_tokens")->select(array("expirationDate", "userID", "typeID"))->where("token", "=", $token)->findFirst();
         if ($orm) {
             $time = $orm->expirationDate;
             $result["token"] = $token;
             $result["expirationDate"] = $time;
             $result["userID"] = $orm->userID;
             $result["typeID"] = $orm->typeID;
             if (time() < $time) {
                 if ($emitError) {
                     $result["error"] = static::error(403, "expired_token");
                 } else {
                     $result["error"] = true;
                 }
             }
         }
     }
     if (!isset($result["token"]) || empty($token)) {
         if ($emitError) {
             $result["error"] = static::error(403, "invalid_token");
         } else {
             $result["error"] = true;
         }
     }
     return $result;
 }