/** * vb_Search_Indexcontroller_Queue::indexQueue() * * Index an item based on a map of fieldname/value pairs * * @param string $package : the package which we are indexing * @param string $contenttype : text string with the type of content * @param string $operation: the index action, which will vary depending on the action. * usually it will just be "index" * @param data : If we have fourth parameter we take it as an associative array of field values * @return : boolean success indicator */ public static function indexQueue($package, $contenttype, $operation) { $data = array_slice(func_get_args(), 3); global $vbulletin; $db = vB_Search_Core::get_db(); //For now we need to compose an sql query. Parameters are not available. //First make sure we've got good data. If we don't have the three parameters if (isset($package)) { $dbfields['package'] = "'" . $db->escape_string($package) . "'"; } else { return false; } if (isset($contenttype)) { $dbfields['contenttype'] = "'" . $db->escape_string($contenttype) . "'"; } else { return false; } if (isset($operation)) { $dbfields['operation'] = "'" . $db->escape_string($operation) . "'"; } if (!$vbulletin->options['searchqueueupdates']) { // we just call indexNow. It checks for valid data. return vB_Search_Indexcontroller_QueueProcessor::indexNow($package, $contenttype, $operation, $data); } $dbfields['data'] = "'" . $db->escape_string(serialize($data)) . "'"; $sql = "INSERT INTO " . TABLE_PREFIX . "indexqueue (" . implode(', ', array_keys($dbfields)) . ")\n\t\t\tVALUES ( " . implode(', ', $dbfields) . " )"; $db->query_write($sql); return true; }
// ######################## SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); if (!is_object($vbulletin->db)) { exit; } // ######################################################################## // ######################### START MAIN SCRIPT ############################ // ######################################################################## /********************* * We are called by a cron job. Our task is to read from the database all the records * that should be processed and take care of them. For each we: * figure out what object we need. * extract the parameters * statically call the method * remove the record from the database * *****/ require_once(DIR . '/vb/search/indexcontroller/queueprocessor.php'); vB_Search_Indexcontroller_QueueProcessor::index(); /*======================================================================*\ || #################################################################### || # || # CVS: $RCSfile$ - $Revision: 28470 $ || #################################################################### \*======================================================================*/