https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113531
Revision: 113531
Author: jeroendedauw
Date: 2012-03-09 22:10:07 +0000 (Fri, 09 Mar 2012)
Log Message:
-----------
some minor cleanup
Modified Paths:
--------------
trunk/extensions/EducationProgram/actions/EPHistoryAction.php
trunk/extensions/EducationProgram/includes/EPRevision.php
trunk/extensions/EducationProgram/includes/EPRevisionedObject.php
trunk/extensions/EducationProgram/includes/EPRevisions.php
Modified: trunk/extensions/EducationProgram/actions/EPHistoryAction.php
===================================================================
--- trunk/extensions/EducationProgram/actions/EPHistoryAction.php
2012-03-09 21:54:00 UTC (rev 113530)
+++ trunk/extensions/EducationProgram/actions/EPHistoryAction.php
2012-03-09 22:10:07 UTC (rev 113531)
@@ -70,14 +70,8 @@
* @param EPPageObject $object
*/
protected function displayRevisions( EPPageObject $object ) {
- $conditions = array(
- 'type' => get_class( $object ),
- );
+ $conditions = $object->getRevisionIdentifiers();
- if ( $object->hasIdField() ) {
- $conditions['object_id'] = $object->getId();
- }
-
$action = htmlspecialchars( $GLOBALS['wgScript'] );
$request = $this->getRequest();
Modified: trunk/extensions/EducationProgram/includes/EPRevision.php
===================================================================
--- trunk/extensions/EducationProgram/includes/EPRevision.php 2012-03-09
21:54:00 UTC (rev 113530)
+++ trunk/extensions/EducationProgram/includes/EPRevision.php 2012-03-09
22:10:07 UTC (rev 113531)
@@ -22,6 +22,14 @@
protected $user = false;
/**
+ * (non-PHPdoc)
+ * @see DBDataObject::getTable()
+ */
+ public function getTable() {
+ return EPRevisions::singleton();
+ }
+
+ /**
* Return the object as it was at this revision.
*
* @since 0,1
@@ -29,8 +37,8 @@
* @return EPRevisionedObject
*/
public function getObject() {
- $class = $this->getField( 'type' ) . 's'; // TODO: refactor
made this suck a lot
- return $class::singleton()->newFromArray( $this->getField(
'data' ), true );
+ $tableClass = $this->getField( 'type' );
+ return $tableClass::singleton()->newFromArray( $this->getField(
'data' ), true );
}
/**
@@ -53,13 +61,13 @@
$conditions['object_id'] = $objectId;
}
- $rev = EPRevision::selectRow( array( 'type', 'data' ),
$conditions );
+ $rev = EPRevisions::singleton()->selectRow( array( 'type',
'data' ), $conditions );
if ( $rev === false ) {
return false;
}
else {
- return $rev->getDataObject();
+ return $rev->getObject();
}
}
Modified: trunk/extensions/EducationProgram/includes/EPRevisionedObject.php
===================================================================
--- trunk/extensions/EducationProgram/includes/EPRevisionedObject.php
2012-03-09 21:54:00 UTC (rev 113530)
+++ trunk/extensions/EducationProgram/includes/EPRevisionedObject.php
2012-03-09 22:10:07 UTC (rev 113531)
@@ -276,14 +276,23 @@
*/
public function getRevisions( array $conditions = array(), array
$options = array() ) {
return EPRevisions::singleton()->select( null, array_merge(
- array(
- 'type' => get_called_class(),
- 'object_id' => $this->getId(),
- ),
+ $this->getRevisionIdentifiers(),
$conditions
), $options );
}
+ public function getRevisionIdentifiers() {
+ $identifiers = array(
+ 'type' => get_class( $this->table )
+ );
+
+ if ( $this->hasIdField() ) {
+ $identifiers['object_id'] = $this->getId();
+ }
+
+ return $identifiers;
+ }
+
/**
* Returns the most recently stored revision for this object
* matching the provided contions or false if there is none.
@@ -299,10 +308,7 @@
$options['ORDER BY'] =
EPRevisions::singleton()->getPrefixedField( 'id' ) . ' DESC';
return EPRevisions::singleton()->selectRow( null, array_merge(
- array(
- 'type' => get_called_class(),
- 'object_id' => $this->getId(),
- ),
+ $this->getRevisionIdentifiers(),
$conditions
), $options );
}
@@ -430,5 +436,5 @@
$revision = $this->getRevisionById( $revId );
return $revision === false ? false : $this->undoRevision(
$revision, $fields );
}
-
+
}
Modified: trunk/extensions/EducationProgram/includes/EPRevisions.php
===================================================================
--- trunk/extensions/EducationProgram/includes/EPRevisions.php 2012-03-09
21:54:00 UTC (rev 113530)
+++ trunk/extensions/EducationProgram/includes/EPRevisions.php 2012-03-09
22:10:07 UTC (rev 113531)
@@ -78,17 +78,15 @@
* @return EPRevision
*/
public function newFromObject( EPRevisionedObject $object,
EPRevisionAction $revAction ) {
- $fields = array(
- 'object_id' => $object->getId(),
+ $fields = array_merge( $object->getRevisionIdentifiers(), array(
'user_id' => $revAction->getUser()->getID(),
'user_text' => $revAction->getUser()->getName(),
- 'type' => get_class( $object ),
'comment' => $revAction->getComment(),
'minor_edit' => $revAction->isMinor(),
'time' => $revAction->getTime(),
'deleted' => $revAction->isDelete(),
'data' => serialize( $object->toArray() )
- );
+ ) );
$identifier = $object->getIdentifier();
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs