[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