예제 #1
0
            }
            $topic = new titania_topic();
            $topic->parent_id = $row['queue_id'];
            $topic->topic_url = 'manage/queue/q_' . $row['queue_id'];
            $topic->phpbb_topic_id = $row['topic_id'];
            $topic->topic_category = $row['contrib_type'];
            titania_move_topic($row['topic_id'], $topic, TITANIA_QUEUE, $row['contrib_name'], $row['revision_version']);
            $queue_topic_id = $topic->topic_id;
            unset($topic);
            // Ariel = shit.  Closing queue items but leaving them as not approved or denied.  Going to have to assume they were denied.
            if ($row['queue_closed'] && $row['queue_status'] != -1) {
                $row['queue_status'] = -2;
            }
            // Now insert to the queue table
            $sql_ary = array('queue_id' => $row['queue_id'], 'revision_id' => $row['revision_id'], 'contrib_id' => $row['contrib_id'], 'submitter_user_id' => $row['user_id'], 'queue_topic_id' => $queue_topic_id, 'queue_type' => $row['contrib_type'], 'queue_status' => isset($queue_swap[$row['queue_status']]) ? $queue_swap[$row['queue_status']] : TITANIA_QUEUE_NEW, 'queue_submit_time' => $row['queue_opened'], 'queue_close_time' => $row['queue_closed'], 'queue_notes' => '', 'queue_notes_bitfield' => '', 'queue_notes_uid' => '', 'queue_notes_options' => 7, 'queue_validation_notes' => '', 'queue_validation_notes_bitfield' => '', 'queue_validation_notes_uid' => '', 'queue_validation_notes_options' => 7, 'mpv_results' => '', 'mpv_results_bitfield' => '', 'mpv_results_uid' => '', 'automod_results' => '');
            titania_insert(TITANIA_QUEUE_TABLE, $sql_ary);
        }
        phpbb::$db->sql_freeresult($result);
        $display_message = 'Queue';
        break;
    case 6:
        $sql_ary = $contrib_ids = array();
        $sql = 'SELECT contrib_id FROM ' . TITANIA_CONTRIB_IN_CATEGORIES_TABLE . '
			WHERE ' . phpbb::$db->sql_in_set('category_id', array(13, 14, 15, 16));
        $result = phpbb::$db->sql_query($sql);
        while ($row = phpbb::$db->sql_fetchrow($result)) {
            $contrib_ids[] = $row['contrib_id'];
        }
        phpbb::$db->sql_freeresult($result);
        $sql = 'DELETE FROM ' . TITANIA_REVISIONS_PHPBB_TABLE . '
			WHERE ' . phpbb::$db->sql_in_set('contrib_id', $contrib_ids);
예제 #2
0
        } else {
            $conflict = false;
            $permalink = $permalink_test;
        }
        phpbb::$db->sql_freeresult($p_result);
    } while ($conflict == true);
    // This basically maps old entries to the contribution format
    $pack = array('contrib_type' => TITANIA_TYPE_TRANSLATION, 'contrib_user_id' => $row['user_id'], 'contrib_name' => $row['english_name'], 'contrib_name_clean' => $permalink, 'contrib_desc' => $row['intro_text'], 'contrib_status' => TITANIA_CONTRIB_NEW, 'contrib_visible' => true, 'contrib_views' => 0, 'contrib_rating' => 0, 'contrib_rating_count' => 0, 'contrib_last_update' => $row['last_update'], 'contrib_iso_code' => $row['package_name'], 'contrib_local_name' => $row['local_name']);
    $id = titania_insert(TITANIA_CONTRIBS_TABLE, $pack);
    $cat_ary = array('category_id' => TRANSLATION_CAT_ID, 'contrib_id' => $id);
    titania_insert(TITANIA_CONTRIB_IN_CATEGORIES_TABLE, $cat_ary);
    // and add the respective authors
    foreach ($authors as $author) {
        if ($author['lang_id'] == $row['lang_id']) {
            $sql_ary = array('contrib_id' => $id, 'user_id' => $author['user_id'], 'active' => true);
            titania_insert(TITANIA_CONTRIB_COAUTHORS_TABLE, $sql_ary);
        }
    }
    $i++;
}
$sync = new titania_sync();
$sync->authors('count');
$sync->contribs('validated');
$sync->categories('count');
phpbb::$cache->purge();
echo $i . ' language packs added to Titania';
/**
 * Wrapper for inserting data into a table for Titania
 *
 * @author EXReaction
 * @param string $table