Exemplo n.º 1
0
 /**
  * @important | @core function
  * Specific types are needed for MongoDB for proper querying
  * @param misc $value
  * @param string $type
  */
 public function _convertToType($value, $type)
 {
     if (Db::isType($value, 'regex')) {
         return $value;
     }
     switch ($type) {
         case 'text':
             $value = (string) $value;
             break;
         case 'integer':
             $value = (int) $value;
             break;
         case 'boolean':
             $value = (bool) $value;
             break;
         case 'decimal':
             $value = (double) $value;
             break;
         case 'datetime':
         case 'date':
             if (is_array($value)) {
                 break;
             } else {
                 if (is_object($value)) {
                     $date = $value;
                     if (Db::isType($value, 'date')) {
                         break;
                     } else {
                         if (is_a($value, 'DateTime')) {
                             $date = $value->format('Y-m-d');
                         }
                     }
                     $value = Db::time($date);
                 } else {
                     $value = Db::time($value);
                 }
             }
             break;
         case 'autonumber':
         case 'mongoid':
             if (Db::isType($value, 'id')) {
                 break;
             } else {
                 if (is_array($value)) {
                     $copy = $value;
                     $value = [];
                     foreach ($copy as $key => $val) {
                         $value[$key] = Utils::mongoObjectId($val);
                     }
                 } else {
                     $value = Utils::mongoObjectId($value);
                 }
             }
             break;
         case 'array':
             if (!is_array($value)) {
                 $value = (array) $value;
             }
             break;
         default:
             $value = $value;
             break;
     }
     return $value;
 }
Exemplo n.º 2
0
 public static function hourly()
 {
     $halfHrAgo = date('Y-m-d H:i:s', time() - 1800);
     $now = date('Y-m-d H:i:s');
     $created = ['$gte' => Db::time($halfHrAgo), '$lte' => Db::time($now)];
     self::deleteAll(['created' => $created, 'is_bot' => true]);
 }
Exemplo n.º 3
0
 protected function _login($org, $view)
 {
     $session = Registry::get("session");
     $email = strtolower(trim(RM::post("email")));
     $pass = RM::post("password");
     $user = \User::first(["org_id = ?" => $org->_id, "email = ?" => $email]);
     if (!$user) {
         return $view->set('message', 'Invalid credentials');
     } else {
         if (sha1($pass) != $user->password) {
             return $view->set('message', 'Invalid credentials');
         } else {
             if (!$user->live) {
                 return $view->set('message', 'User account deactivated!!');
             }
         }
     }
     $session->erase('Auth\\Login:$token');
     // erase login token
     $user->login = \Shared\Services\Db::time();
     $user->save();
     $this->_loginRedirect($user, $org);
 }