public static function get_queue_object($queue_id, $query = false) { if (!isset(self::$queue[$queue_id]) && $query) { self::load_queue($queue_id); } if (!isset(self::$queue[$queue_id])) { return false; } $queue = new titania_queue(); $queue->__set_array(self::$queue[$queue_id]); return $queue; }
public function queue($mode, $queue_id = false) { switch ($mode) { case 'update_first_queue_post': $queue = new titania_queue(); $contrib = new titania_contribution(); $sql = 'SELECT * FROM ' . TITANIA_QUEUE_TABLE . ' q, ' . TITANIA_CONTRIBS_TABLE . ' c WHERE c.contrib_id = q.contrib_id' . ($queue_id ? ' AND queue_id = ' . (int) $queue_id : ''); $result = phpbb::$db->sql_query($sql); while ($row = phpbb::$db->sql_fetchrow($result)) { $contrib->__set_array($row); $queue->__set_array($row); $queue->update_first_queue_post(false, $contrib); } phpbb::$db->sql_freeresult($result); unset($queue); break; case 'revision_queue_id': $sql = 'SELECT queue_id, revision_id FROM ' . TITANIA_QUEUE_TABLE; $result = phpbb::$db->sql_query($sql); while ($row = phpbb::$db->sql_fetchrow($result)) { $sql = 'UPDATE ' . TITANIA_REVISIONS_TABLE . ' SET revision_queue_id = ' . (int) $row['queue_id'] . ' WHERE revision_id = ' . (int) $row['revision_id']; phpbb::$db->sql_query($sql); } phpbb::$db->sql_freeresult($result); break; } }
/** * Get the queue object for this revision */ public function get_queue() { $sql = 'SELECT * FROM ' . TITANIA_QUEUE_TABLE . ' WHERE contrib_id = ' . $this->contrib_id . ' AND revision_id = ' . $this->revision_id; $result = phpbb::$db->sql_query($sql); $row = phpbb::$db->sql_fetchrow($result); phpbb::$db->sql_freeresult($result); if ($row) { $queue = new titania_queue(); $queue->__set_array($row); return $queue; } return false; }
/** * Sync queue * * @param string $mode * @param int|bool $queue_id (Optional) Queue id to limit to. Defaults to false. */ public function queue($mode, $queue_id = false) { switch ($mode) { case 'update_first_queue_post': $queue = new \titania_queue(); $contrib = new \titania_contribution(); $sql = 'SELECT * FROM ' . $this->queue_table . ' q, ' . $this->contribs_table . ' c WHERE c.contrib_id = q.contrib_id' . ($queue_id ? ' AND queue_id = ' . (int) $queue_id : ''); $result = $this->db->sql_query($sql); while ($row = $this->db->sql_fetchrow($result)) { $contrib->__set_array($row); $contrib->set_type($row['contrib_type']); $queue->__set_array($row); $queue->update_first_queue_post(false, $contrib); } $this->db->sql_freeresult($result); unset($queue); break; case 'revision_queue_id': $sql = 'SELECT queue_id, revision_id FROM ' . $this->queue_table; $result = $this->db->sql_query($sql); while ($row = $this->db->sql_fetchrow($result)) { $sql = 'UPDATE ' . $this->revisions_table . ' SET revision_queue_id = ' . (int) $row['queue_id'] . ' WHERE revision_id = ' . (int) $row['revision_id']; $this->db->sql_query($sql); } $this->db->sql_freeresult($result); break; } }