コード例 #1
0
ファイル: DB.php プロジェクト: LobbyOS/server
 /**
  * Get App Data
  */
 public static function getData($id, $name = "", $extra = false, $safe = true)
 {
     if (self::$installed) {
         $return = array();
         $prefix = self::$prefix;
         if ($id != "" && $name == "") {
             $sql = self::$dbh->prepare("SELECT * FROM `{$prefix}data` WHERE `app` = ?");
             $sql->execute(array($id));
             $return = $sql->fetchAll();
             foreach ($return as &$v) {
                 $v["created"] = \Lobby\Time::date($v["created"]);
                 $v["updated"] = \Lobby\Time::date($v["updated"]);
             }
         } else {
             $sql = self::$dbh->prepare("SELECT * FROM `{$prefix}data` WHERE `name` = ? AND `app` = ?");
             $sql->execute(array($name, $id));
             $r = $sql->fetchAll(\PDO::FETCH_ASSOC);
             $count = count($r);
             if ($count > 1) {
                 /**
                  * Multiple Results; so give a multidimensional array of results
                  */
                 $return = $r;
                 foreach ($return as &$v) {
                     $v["created"] = \Lobby\Time::date($v["created"]);
                     $v["updated"] = \Lobby\Time::date($v["updated"]);
                 }
             } else {
                 if ($count === 1) {
                     /**
                      * A single result is present, so give a single array only if $extra is TRUE
                      */
                     $return = $r[0];
                     if ($extra === false) {
                         $return = $return['value'];
                     } else {
                         /**
                          * Cconvert time to the timezone chosen by user
                          */
                         $return["created"] = \Lobby\Time::date($return["created"]);
                         $return["updated"] = \Lobby\Time::date($return["updated"]);
                     }
                 } else {
                     $return = array();
                 }
             }
         }
         if (is_array($return) && $safe === true) {
             array_walk_recursive($return, function (&$value) {
                 $value = \Lobby\DB::filt($value);
             });
         }
         return is_array($return) && count($return) == 0 ? null : $return;
     }
 }