예제 #1
0
$query->on('v1.intversion < v2.intversion');
$query->where('v2.app_id IS NULL');
$query->whereOpenGroup('AND');
$apps = array_keys($apps);
foreach ($apps as $app) {
    $query->where('a.id = ?', $app, 'OR');
}
$stmt = $query->prepare();
//echo $stmt->getQuery() . "<br />\n";
$aver = array();
$adate = array();
$aname = array();
$query = new Query('DELETE');
$query->from('applications');
$vquery = new Query('SELECT');
$vquery->whereOpenGroup();
$appsToDelete = false;
$versToCorrect = false;
$stmt->execute();
while ($row = $stmt->fetchAssoc()) {
    if (!$row['version']) {
        $appsToDelete = true;
        echo "Deleting #{$row['id']} ({$row['name']})...<br />\n";
        $query->where('id = ?', $row['id'], 'OR');
    } else {
        $versToCorrect = true;
        $aver[$row['id']] = $row['version'];
        $adate[$row['id']] = $row['date_added'];
        $aname[$row['id']] = $row['name'];
        $vquery->where("v.id = ?", $row['version_id'], 'OR');
    }
예제 #2
0
 public function getResultCount($cat = 0, $filter = false, $app_ids = false, $itunes_ids = false)
 {
     $query = new Query('SELECT');
     $query->field('COUNT(*)', 'count');
     $query->from('applications');
     if ($cat > 0) {
         $query->where('category_id = ?', $cat);
     }
     if ($filter) {
         $inclids = $this->getMatchedIDs($filter);
         $newfilter = $this->processFilter($filter);
         $query->whereOpenGroup('AND');
         $query->where('MATCH(name, description) AGAINST(? IN BOOLEAN MODE)', $newfilter);
         foreach ($inclids as $inclid) {
             $query->where('id = ?', $inclid, 'OR');
         }
         $query->whereCloseGroup();
     }
     if ($app_ids) {
         if (is_array($app_ids)) {
             $query->whereOpenGroup('AND');
             foreach ($app_ids as $app_id) {
                 $query->where('id = ?', $app_id, 'OR');
             }
             $query->whereCloseGroup();
         } else {
             $query->where('id = ?', $app_id);
         }
     }
     if ($itunes_ids) {
         if (is_array($itunes_ids)) {
             $query->whereOpenGroup('AND');
             foreach ($itunes_ids as $itunes_id) {
                 $query->where('itunes_id = ?', $itunes_id, 'OR');
             }
             $query->whereCloseGroup();
         } else {
             $query->where('tunes_id = ?', $itunes_id);
         }
     }
     $stmt = $query->prepare();
     $stmt->execute();
     $obj = $stmt->fetchObj();
     return $obj->count;
 }