Example #1
0
 function getIdsFromTable($startId, $endId)
 {
     list($tableName, $primaryKey) = $this->getPrimaryKeyAndTable();
     $result = array();
     $query = $GLOBALS['db']->query(sprintf("SELECT %s FROM %s WHERE %s >= %s AND %s <= %s", S::sqlMetaData($primaryKey), S::sqlMetaData($tableName), S::sqlMetaData($primaryKey), S::sqlEscape($startId), S::sqlMetaData($primaryKey), S::sqlEscape($endId)));
     while ($rt = $GLOBALS['db']->fetch_array($query)) {
         $result[] = $rt[$primaryKey];
     }
     return $result;
 }
 function getThreadDataWithTmsgs($query)
 {
     $threads = $tmsgsTables = array();
     while ($rt = $GLOBALS['db']->fetch_array($query)) {
         $threads[$rt['tid']] = $rt;
         $tmsgsTableName = GetTtable($rt['tid']);
         $tmsgsTables[$tmsgsTableName][] = $rt['tid'];
     }
     if (!S::isArray($threads)) {
         return array();
     }
     foreach ($tmsgsTables as $tableName => $tids) {
         $tmsgsQuery = $GLOBALS['db']->query("SELECT * FROM " . S::sqlMetaData($tableName) . " WHERE tid IN(" . S::sqlImplode($tids) . ")");
         while ($rt = $GLOBALS['db']->fetch_array($tmsgsQuery)) {
             $rt['threadurl'] = $GLOBALS['db_bbsurl'] . '/read.php?tid=' . $rt['tid'];
             $rt['forumurl'] = $GLOBALS['db_bbsurl'] . '/thread.php?fid=' . $threads[$rt['tid']]['fid'];
             $threads[$rt['tid']] = array_merge($threads[$rt['tid']], $rt);
         }
     }
     return $threads;
 }
Example #3
0
 function getMinAndMaxIdByTableName($tableName)
 {
     if ($tableName != 'pw_pidtmp' && !preg_match('|^pw_posts\\d*$|i', $tableName)) {
         return array('min' => 0, 'max' => 0);
     }
     return $GLOBALS['db']->get_one("SELECT min(pid) AS min,max(pid) AS max FROM " . S::sqlMetaData($tableName));
 }