Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
    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;
        }
    }
Exemplo n.º 3
0
    /**
     * 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;
    }
Exemplo n.º 4
0
    /**
     * 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;
        }
    }