/**
  * 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;
 }