예제 #1
0
 public static function save($code, $value, $lang = null)
 {
     // Save specific locale value by given key
     if (!$lang) {
         $lang = self::getLanguage();
     }
     // Check if locale already exists
     $sql = new SqlManager();
     $sql->setQuery("\n\t\t\tSELECT code FROM locale \n\t\t\tWHERE code = '{{code}}' \n\t\t\tAND language = {{lang}}\n\t\t\tLIMIT 1");
     $sql->bindParam('{{code}}', $code);
     $sql->bindParam('{{lang}}', $lang, "int");
     $check = $sql->result();
     $loc = array('code' => $sql->escape($code), 'language' => $sql->escape($lang, "int"), 'text' => $sql->escape($value), 'lastchanged' => DateManager::now());
     // Either update database or insert new entry for given locale
     if (!$check['code']) {
         $loc['created'] = DateManager::now();
         $sql->insert("locale", $loc);
     } else {
         $sql->update("locale", $loc);
     }
     // Refresh cache to make sure new locale entry will be used
     $cachekey = "locale:" . $lang;
     Cache::clear($cachekey);
     self::load($lang);
 }
예제 #2
0
 private function create()
 {
     // Create a new session
     $this->id = session_id();
     // And write session into database
     $insert = array("phpkey" => $this->id, "created" => DateManager::now());
     $sql = new SqlManager();
     $sql->insert("session", $insert);
     // Save data in instance
     $this->data = $insert;
     $this->data['id'] = $sql->getLastInsertID();
     // Write meta data into database
     foreach ($_SERVER as $key => $value) {
         Meta::save("session", $this->data['id'], $key, $value);
     }
     // Set login status
     $this->loggedin = false;
     // Create user and config object for session
     $this->user = new User();
     $this->config = new Config();
 }
예제 #3
0
 public static function write($type, $message)
 {
     // Write new log message into database
     $sql = new SqlManager();
     $log = array('type' => $type, 'time' => DateManager::now(), 'trace' => serialize(debug_backtrace()), 'session' => null, 'user' => null, 'message' => $message);
 }
예제 #4
0
 public function createAuthCode()
 {
     // Save random auth code in users meta data
     $authcode = Crypt::hash("random:authcode:" . DateManager::now() . ":" . rand());
     Meta::remove("user", $this->id, "authcode");
     Meta::save("user", $this->id, "authcode", Crypt::createHash($authcode));
 }