Example #1
0
require_once 'includes/cp-global.php';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $DB = GetDB();
    $tables = GetDBTables();
    $reset = true;
    $settings = array('cookie_path' => '/', 'dec_point' => '.', 'thousands_sep' => ',', 'timezone' => 'America/Chicago', 'template' => 'Default-Blue-Rewrite', 'language' => 'en_US', 'video_extensions' => 'avi,mpg,mpeg,flv,f4v,rm,asf,wmv,mov,mp4,ts,m2t', 'video_size' => '512x384', 'video_bitrate' => '26', 'audio_bitrate' => '128', 'thumb_size' => '120x90', 'thumb_quality' => '90', 'thumb_amount' => '15', 'max_upload_size' => '50MB', 'max_upload_duration' => '00:20:00', 'flag_mod_rewrite' => '1', 'mailer' => 'mail', 'flag_user_confirm_email' => '0', 'date_format' => 'm-d-Y', 'time_format' => 'h:i:s', 'avatar_dimensions' => '200x200', 'avatar_filesize' => '100KB', 'avatar_extensions' => 'jpg,gif,png', 'flag_user_strip_tags' => '1', 'video_format' => '0', 'flag_allow_uploads' => '1', 'flag_upload_reject_duplicates' => '1', 'flag_upload_allow_private' => '1', 'flag_upload_convert' => '', 'flag_upload_review' => '', 'upload_extensions' => 'avi,mpg,mpeg,flv,f4v,rm,asf,wmv,mov,mp4,ts,m2t', 'title_min_length' => '10', 'title_max_length' => '100', 'description_min_length' => '10', 'description_max_length' => '500', 'tags_min' => '1', 'tags_max' => '10', 'flag_video_strip_tags' => '1', 'comment_max_length' => '500', 'comment_throttle_period' => '120', 'flag_comment_strip_tags' => '1', 'captcha_min_length' => '4', 'captcha_max_length' => '6', 'flag_captcha_words' => '1', 'flag_captcha_on_signup' => '1', 'flag_captcha_on_upload' => '0', 'flag_captcha_on_comment' => '1', 'cache_main' => '3600', 'cache_search' => '3600', 'cache_categories' => '3600', 'cache_browse' => '3600', 'cache_video' => '3600', 'cache_profile' => '3600', 'cache_comments' => '3600', 'cache_custom' => '3600');
    // Reset Config.php file
    Config::Save($settings, true);
    // Reset database.xml file
    $schema = GetDBSchema();
    $custom_tables = array(array('name' => 'tbx_user_custom', 'field' => 'username'), array('name' => 'tbx_video_custom', 'field' => 'video_id'), array('name' => 'tbx_category_custom', 'field' => 'category_id'), array('name' => 'tbx_sponsor_custom', 'field' => 'sponsor_id'));
    foreach ($custom_tables as $table) {
        $xtable = $schema->el('//table[name="' . $table['name'] . '"]');
        foreach ($xtable->xpath('./columns/column') as $xcolumn) {
            if ($xcolumn->name->val() != $table['field']) {
                XML_Schema::DeleteColumn($table['name'], $xcolumn->name->val());
            }
        }
    }
    // Remove all database tables
    foreach ($tables as $table) {
        $DB->Update('DROP TABLE IF EXISTS #', array($table));
    }
    // Clear out directories
    $dirs = array('temp', 'uploads', 'videos', 'templates/_cache');
    foreach ($dirs as $dir) {
        $dir = BASE_DIR . '/' . $dir;
        // Remove sub-directories and their contents
        $removals = Dir::ReadDirectories($dir, '~^[^.]~');
        foreach ($removals as $removal) {
            Dir::Remove($dir . '/' . $removal);
Example #2
0
    // Setup <column>
    $xcolumn = $xcolumns->addChild('column');
    $xcolumn->addChild('name', 'flag_thumb');
    $xcolumn->addChild('label', 'Queue for thumbnail generation');
    $xcolumn->addChild('definition', 'TINYINT UNSIGNED NOT NULL');
    $xcolumn->addChild('description', 'Queue videos imported from this feed for thumbnail generation');
    $xcolumn->addChild('default', '0');
    $xcolumn->addChild('autocomplete', '#Yes,No');
    // Setup <admin>
    $xadmin = $xcolumn->addChild('admin');
    $xadmin->addChild('search', 'false');
    $xadmin->addChild('sort', 'false');
    $xadmin->addChild('create', 'true');
    $xadmin->addChild('edit', 'true');
    $xadmin->addChild('bulkEdit', 'SET');
    XML_Schema::WriteXml($schema);
}
$database_xml = file_get_contents(INCLUDES_DIR . '/database.xml');
// Point to correct documentation locations
$database_xml = str_replace('custom.html<', 'custom-field.html<', $database_xml);
// Add next_status to tbx_video
if (strpos($database_xml, 'next_status') === false) {
    $database_xml = str_replace("<column>\n        <name>duration</name>", "<column>\n" . "        <name>next_status</name>\n" . "        <definition>ENUM('Pending','Queued','Scheduled','Active','Disabled')</definition>\n" . "        <default>null</default>\n" . "        <user>\n" . "          <create>false</create>\n" . "          <edit>false</edit>\n" . "        </user>\n" . "        <admin>\n" . "          <search>false</search>\n" . "          <sort>false</sort>\n" . "          <create>false</create>\n" . "          <edit>false</edit>\n" . "        </admin>\n" . "      </column>\n" . "      <column>\n" . "        <name>duration</name>", $database_xml);
}
// Add convert and thumbnail toolbar icons
if (strpos($database_xml, 'conversion-queue-32x32.png') === false) {
    $database_xml = str_replace("<function>tbxGenericAction(video,unfeature)</function>\n      </icon>", "<function>tbxGenericAction(video,unfeature)</function>\n" . "      </icon>\n" . "      <icon>\n" . "        <type>action</type>\n" . "        <img>conversion-queue-32x32.png</img>\n" . "        <title>Convert</title>\n" . "        <function>tbxGenericAction(video,convert)</function>\n" . "      </icon>\n" . "      <icon>\n" . "        <type>action</type>\n" . "        <img>thumb-queue-32x32.png</img>\n" . "        <title>Thumbnail</title>\n" . "        <function>tbxGenericAction(video,thumbnail)</function>\n" . "      </icon>", $database_xml);
}
// Add tbx_imported table definition
if (strpos($database_xml, 'tbx_imported') === false) {
    $database_xml = str_replace('</database>', "\n\n\n<!-- START tbx_imported -->\n" . "  <table>\n" . "    <name>tbx_imported</name>\n" . "    <naming>\n" . "      <type>imported</type>\n" . "    </naming>\n" . "    <columns>\n" . "      <column>\n" . "        <name>video_url</name>\n" . "        <definition>TEXT</definition>\n" . "      </column>\n" . "      <index>\n" . "        <column>video_url(255)</column>\n" . "      </index>\n" . "    </columns>\n" . "  </table>\n" . "<!-- END tbx_imported -->\n" . "</database>", $database_xml);
Example #3
0
function tbxGenericCustomFieldDelete($item, $custom_table)
{
    // Delete column from XML schema
    XML_Schema::DeleteColumn($custom_table, $item['name']);
    // Remove column from the database
    $DB = GetDB();
    $DB->Update('DELETE FROM # WHERE `name`=?', array($custom_table . '_schema', $item['name']));
    $DB->Update('ALTER TABLE # DROP COLUMN #', array($custom_table, $item['name']));
}