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);
} 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);