/** * Driver function */ public static function execute(&$parser, $project = '', $class = '', $importance = '') { $newRecord = false; // Title class object for the Main page of this Talk page $pageObj = $parser->getTitle()->getSubjectPage(); $pageTitle = $pageObj->getText(); $exists = PageAssessmentsBody::checkIfExists($pageTitle, $project, $class, $importance); switch ($exists) { case 'nochange': return; case 'change': break; default: $newRecord = true; break; } $pageNamespace = $pageObj->getNamespace(); $pageId = $pageObj->getArticleID(); $revisionId = $pageObj->getLatestRevID(); // Compile the array to be inserted to the DB $values = array('pa_page_id' => $pageId, 'pa_page_name' => $pageTitle, 'pa_page_namespace' => $pageNamespace, 'pa_project' => $project, 'pa_class' => $class, 'pa_importance' => $importance, 'pa_page_revision' => $revisionId); if ($newRecord) { PageAssessmentsBody::insertRecord($values); } else { PageAssessmentsBody::updateRecord($values); } $values['pa_user_id'] = $parser->getRevisionUser(); PageAssessmentsBody::insertLogRecord($values); return; }
/** * Test the updateRecord() function in PageAssessmentsBody class */ public function testUpdate() { $this->testInsert(); $pageBody = new PageAssessmentsBody(); $values = array('pa_page_id' => '10', 'pa_project_id' => '3', 'pa_class' => 'B', 'pa_importance' => 'Low', 'pa_page_revision' => '21'); $pageBody->updateRecord($values); $this->assertSelect('page_assessments', array('pa_page_id', 'pa_class', 'pa_importance'), array(), array(array('10', 'B', 'Low'))); }