Esempio n. 1
0
		FROM ' . TITANIA_AUTOMOD_QUEUE_TABLE . ' aq, ' . TITANIA_REVISIONS_TABLE . ' r, ' . TITANIA_ATTACHMENTS_TABLE . ' a, ' . TITANIA_CONTRIBS_TABLE . ' c
		WHERE r.revision_id = aq.revision_id
			AND a.attachment_id = r.attachment_id
			AND c.contrib_id = r.contrib_id';
    $result = phpbb::$db->sql_query_limit($sql, 2);
    while ($row = phpbb::$db->sql_fetchrow($result)) {
        // Delete here in case any errors come up from the test so that it does't get stuck.
        $sql = 'DELETE FROM ' . TITANIA_AUTOMOD_QUEUE_TABLE . '
			WHERE row_id = ' . $row['row_id'];
        phpbb::$db->sql_query($sql);
        $new_dir_name = $row['contrib_name_clean'] . '_' . preg_replace('#[^0-9a-z]#', '_', strtolower($row['revision_version']));
        $version = $row['phpbb_version_branch'][0] . '.' . $row['phpbb_version_branch'][1] . '.' . $row['phpbb_version_revision'];
        $zip = titania::$config->upload_path . utf8_basename($row['attachment_directory']) . '/' . utf8_basename($row['physical_filename']);
        $details = $results = $bbcode_results = '';
        $contrib_tools = new titania_contrib_tools($zip, $new_dir_name);
        $package_root = $contrib_tools->find_root();
        $contrib_tools->restore_root($package_root);
        if (sizeof($contrib_tools->error)) {
            continue;
        }
        if (!($phpbb_path = $contrib_tools->automod_phpbb_files($version))) {
            continue;
        }
        if ($contrib_tools->automod($phpbb_path, $details, $results, $bbcode_results)) {
            $sql_ary = array('revision_id' => $row['revision_id'], 'contrib_id' => $row['contrib_id'], 'phpbb_version_branch' => $row['phpbb_version_branch'], 'phpbb_version_revision' => get_real_revision_version($row['phpbb_version_revision']), 'revision_validated' => $row['revision_status'] == TITANIA_REVISION_APPROVED ? true : false);
            phpbb::$db->sql_query('INSERT INTO ' . TITANIA_REVISIONS_PHPBB_TABLE . ' ' . phpbb::$db->sql_build_array('INSERT', $sql_ary));
        }
        $contrib_tools->remove_temp_files();
        unset($contrib_tools);
    }
    phpbb::$db->sql_freeresult($result);
Esempio n. 2
0
         }
         redirect(titania::$contrib->get_url());
     }
     phpbb::$template->assign_var('S_NEW_REVISION_SUBMITTED', true);
     break;
 }
 $zip_file = titania::$config->upload_path . '/' . utf8_basename($revision_attachment->attachment_directory) . '/' . utf8_basename($revision_attachment->physical_filename);
 $new_dir_name = titania::$contrib->contrib_name_clean . '_' . preg_replace('#[^0-9a-z]#', '_', strtolower($revision_version));
 $download_package = titania_url::build_url('download', array('id' => $revision_attachment->attachment_id));
 // Start up the machine
 $contrib_tools = new titania_contrib_tools($zip_file, $new_dir_name);
 // Clean the package
 $contrib_tools->clean_package();
 // Restore the root package directory
 if (is_array(titania_types::$types[titania::$contrib->contrib_type]->root_search)) {
     $package_root = $contrib_tools->find_root(false, titania_types::$types[titania::$contrib->contrib_type]->root_search);
 } else {
     $package_root = $contrib_tools->find_root();
 }
 if ($package_root === false) {
     $error[] = phpbb::$user->lang(titania_types::$types[titania::$contrib->contrib_type]->root_not_found_key);
 } else {
     $contrib_tools->restore_root($package_root);
     // Copy the modx install file
     if (titania_types::$types[titania::$contrib->contrib_type]->display_install_file) {
         $contrib_tools->copy_modx_install(titania::$config->modx_storage_path . $revision->revision_id);
     }
 }
 $error = array_merge($error, $contrib_tools->error);
 if (!sizeof($error)) {
     phpbb::$template->assign_var('S_NEW_REVISION_SUBMITTED', true);