$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'); }
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; }