[Customisation Database Commits] r621 - in /trunk/titania: contributions/revision.php includes/objects/revision.php includes/overlords/queue.php includes/tools/search.php language/en/manage.php styles/default/template/posting/attachments/revisions.html
Nathan Guse
exreaction at phpbb.com
Sat Feb 20 17:41:59 GMT 2010
Author: exreaction
Date: Sat Feb 20 17:41:59 2010
New Revision: 621
Log:
Bug in the search delete function
Repacking is done (surprisingly easy actually)
Modified:
trunk/titania/contributions/revision.php
trunk/titania/includes/objects/revision.php
trunk/titania/includes/overlords/queue.php
trunk/titania/includes/tools/search.php
trunk/titania/language/en/manage.php
trunk/titania/styles/default/template/posting/attachments/revisions.html
Modified: trunk/titania/contributions/revision.php
==============================================================================
*** trunk/titania/contributions/revision.php (original)
--- trunk/titania/contributions/revision.php Sat Feb 20 17:41:59 2010
***************
*** 38,43 ****
--- 38,60 ----
$step = request_var('step', 0);
$revision_id = request_var('revision_id', 0);
+ // Repack a revision (for those with moderator permissions)
+ $repack = (phpbb::$auth->acl_get('m_titania_contrib_mod') || titania_types::$types[titania::$contrib->contrib_type]->acl_get('moderate')) ? request_var('repack', 0) : 0;
+ if ($repack)
+ {
+ $old_revision = new titania_revision(titania::$contrib, $repack);
+ if (!$old_revision->load())
+ {
+ trigger_error('NO_REVISION');
+ }
+
+ // Assign some defaults
+ phpbb::$template->assign_vars(array(
+ 'REVISION_NAME' => $old_revision->revision_name,
+ 'REVISION_VERSION' => $old_revision->revision_version,
+ ));
+ }
+
do{
$revision_attachment = $revision = false;
$display_main = false; // Display the main upload page?
***************
*** 82,87 ****
--- 99,110 ----
$revision->submit();
$revision_id = $revision->revision_id;
+ // Repack if that's what we want
+ if ($repack)
+ {
+ $revision->repack($old_revision);
+ }
+
if (!titania_types::$types[titania::$contrib->contrib_type]->clean_and_restore_root)
{
// Skip the whole thing if we have nothing else to do
***************
*** 232,238 ****
'NEXT_STEP' => $next_step,
'REVISION_ID' => $revision_id,
! 'S_POST_ACTION' => titania::$contrib->get_url('revision'),
));
if ($display_main || sizeof($error))
--- 255,261 ----
'NEXT_STEP' => $next_step,
'REVISION_ID' => $revision_id,
! 'S_POST_ACTION' => ($repack) ? titania_url::append_url(titania::$contrib->get_url('revision'), array('repack' => $repack)) : titania::$contrib->get_url('revision'),
));
if ($display_main || sizeof($error))
Modified: trunk/titania/includes/objects/revision.php
==============================================================================
*** trunk/titania/includes/objects/revision.php (original)
--- trunk/titania/includes/objects/revision.php Sat Feb 20 17:41:59 2010
***************
*** 141,146 ****
--- 141,184 ----
}
}
+ /**
+ * Repack a contribution
+ *
+ * @param object $old_revision
+ */
+ public function repack($old_revision)
+ {
+ if (!$this->revision_id)
+ {
+ throw new exception('Submit the revision before repacking');
+ }
+
+ $old_queue = $old_revision->get_queue();
+ $queue = $this->get_queue();
+
+ // Update the old queue and delete the new one
+ $old_queue->revision_id = $queue->revision_id;
+ $old_queue->submitter_user_id = $queue->submitter_user_id;
+ $old_queue->mpv_results = $queue->mpv_results;
+ $old_queue->mpv_results_bitfield = $queue->mpv_results_bitfield;
+ $old_queue->mpv_results_uid = $queue->mpv_results_uid;
+ $old_queue->automod_results = $queue->automod_results;
+ $old_queue->submit();
+
+ // Delete the new queue we made for this revision
+ $queue->delete();
+
+ // Unlink the old queue_id from the old revision manually (don't resubmit and make another queue topic...)
+ $sql = 'UPDATE ' . $this->sql_table . ' SET revision_queue_id = 0
+ WHERE revision_id = ' . (int) $old_revision->revision_id;
+ phpbb::$db->sql_query($sql);
+ $old_revision->revision_queue_id = 0;
+
+ // Update the queue_id here
+ $this->revision_queue_id = $old_queue->queue_id;
+ $this->submit();
+ }
+
public function delete()
{
// Delete the queue item
Modified: trunk/titania/includes/overlords/queue.php
==============================================================================
*** trunk/titania/includes/overlords/queue.php (original)
--- trunk/titania/includes/overlords/queue.php Sat Feb 20 17:41:59 2010
***************
*** 215,220 ****
--- 215,225 ----
{
$quick_actions['RETEST_MPV'] = titania_url::build_url('', array('action' => 'mpv', 'revision' => $row['revision_id']));
}
+ if (!$row['automod_results'] && titania_types::$types[$contrib->contrib_type]->automod_test)
+ {
+ //$quick_actions['RETEST_AUTOMOD'] = titania_url::build_url('', array('action' => 'automod', 'revision' => $row['revision_id']));
+ }
+ $quick_actions['REPACK'] = titania_url::append_url($contrib->get_url('revision'), array('repack' => $row['revision_id']));
phpbb::$template->assign_vars(array(
'QUICK_ACTIONS' => titania::build_quick_actions($quick_actions),
Modified: trunk/titania/includes/tools/search.php
==============================================================================
*** trunk/titania/includes/tools/search.php (original)
--- trunk/titania/includes/tools/search.php Sat Feb 20 17:41:59 2010
***************
*** 142,148 ****
{
self::initialize();
! self::$index->deleteById($object_type . '_' . $object_id, $object_type);
}
/**
--- 142,148 ----
{
self::initialize();
! self::$index->deleteById($object_type . '_' . $object_id, 'titania_article');
}
/**
Modified: trunk/titania/language/en/manage.php
==============================================================================
*** trunk/titania/language/en/manage.php (original)
--- trunk/titania/language/en/manage.php Sat Feb 20 17:41:59 2010
***************
*** 41,44 ****
--- 41,46 ----
'VALIDATION' => 'Validation',
'VALIDATION_SUBMISSION' => 'Validation Submission',
'RETEST_MPV' => 'Re-test MPV',
+ 'RETEST_AUTOMOD' => 'Re-test Automod',
+ 'REPACK' => 'Repack',
));
Modified: trunk/titania/styles/default/template/posting/attachments/revisions.html
==============================================================================
*** trunk/titania/styles/default/template/posting/attachments/revisions.html (original)
--- trunk/titania/styles/default/template/posting/attachments/revisions.html Sat Feb 20 17:41:59 2010
***************
*** 7,16 ****
</dl>
<dl>
<dt><label for="revision_name">{L_REVISION_NAME}:</label></dt>
! <dd><input type="text" name="revision_name" id="revision_name" class="inputbox autowidth" value="{FILE_COMMENT}" /></dd>
</dl>
<dl>
<dt><label for="revision_version">{L_REVISION_VERSION}:</label></dt>
! <dd><input type="text" name="revision_version" id="revision_version" class="inputbox autowidth" value="{FILE_COMMENT}" /></dd>
</dl>
</fieldset>
\ No newline at end of file
--- 7,16 ----
</dl>
<dl>
<dt><label for="revision_name">{L_REVISION_NAME}:</label></dt>
! <dd><input type="text" name="revision_name" id="revision_name" class="inputbox autowidth" value="{REVISION_NAME}" /></dd>
</dl>
<dl>
<dt><label for="revision_version">{L_REVISION_VERSION}:</label></dt>
! <dd><input type="text" name="revision_version" id="revision_version" class="inputbox autowidth" value="{REVISION_VERSION}" /></dd>
</dl>
</fieldset>
\ No newline at end of file
More information about the customisationdb-commits
mailing list