/**
  * Run the upgrader
  * @return string HTML report
  */
 public function run()
 {
     if ($this->_rel_is_sortable()) {
         return 'This script has already run';
     } else {
         if (update_allowable_relationship(relationship_id_of('event_to_image'), array('is_sortable' => 'yes'))) {
             echo 'Made event-to-image relationship sortable.';
         } else {
             echo 'An unknown problem prevented making the event-to-image relationship sortable. You can attempt to do this manually by going to the Allowable Relationship Manager and editing the is_sortable field of the event_to_image allowable relationship.';
         }
     }
 }
if (isset($_POST['verify']) && $_POST['verify'] == 'Run the Script') {
    if (change_column_name($test_mode)) {
        if ($test_mode) {
            echo '<p>Would have updated relationship table column name: sort_order => rel_sort_order</p>';
        } else {
            echo '<p>Updated relationship table column name: sort_order => rel_sort_order</p>';
        }
    }
    if (add_is_sortable_column($test_mode)) {
        if ($test_mode) {
            echo '<p>Would have added is_sortable column to the allowable relationship table</p>';
        } else {
            echo '<p>Added is_sortable column to the allowable_relationships table</p>';
        }
    }
    $result = update_allowable_relationship($left_side_entity_type, $right_side_entity_type, $relationship_type, $test_mode);
    if ($test_mode) {
        echo '<p>Would have set is_sortable in the allowable relationships table to "yes"</p>';
    } else {
        echo '<p>Set is_sortable in the allowable relationship table for ' . $relationship_type . ' relationship to "yes"</p>';
    }
    $process_array = get_relationships_to_update($left_side_entity_type, $right_side_entity_type, $relationship_type, $left_side_relation_limiter, $ordering);
    $count = 0;
    if ($test_mode) {
        echo 'Would have updated ' . count($process_array) . ' relationships:';
    } else {
        foreach ($process_array as $k => $v) {
            $q = 'UPDATE relationship SET rel_sort_order=' . $v . ' WHERE id=' . $k;
            db_query($q, 'could not update relationship');
            $count++;
        }
 /**
  * Run the upgrader
  * @return string HTML report
  */
 public function run()
 {
     $log = $this->add_media_work_fields(false);
     $log .= $this->add_media_file_fields(false);
     if (!$this->updated_allowable_relationship('av_to_av_file', 'required', 'no')) {
         update_allowable_relationship(relationship_id_of('av_to_av_file'), array('required' => 'no', 'is_sortable' => 'yes'));
         $log .= "<p>The av_to_av_file allowable relationship's 'required' field was changed to 'no'.</p>";
     } else {
         $log .= "<p><p>The av_to_av_file allowable relationship's 'required' field has already been set to 'no'.</p></p>";
     }
     if (!$this->updated_allowable_relationship('minisite_page_to_av', 'is_sortable', 'yes')) {
         update_allowable_relationship(relationship_id_of('minisite_page_to_av'), array('is_sortable' => 'yes', 'is_sortable' => 'yes'));
         $log .= "<p>The minisite_page_to_av allowable relationship's 'is_sortable' field was changed to 'yes'.</p>";
     } else {
         $log .= "<p><p>The minisite_page_to_av allowable relationship's 'is_sortable' field has already been set to 'yes'.</p></p>";
     }
     if ($this->updated_media_format_definition()) {
         $log .= "<p>HTML5 has already been added to the av.media_format's db_type field.</p>";
     } else {
         if (reason_update_field_definition('av.media_format', "enum('Quicktime','Windows Media','Real','Flash','MP3','AIFF','Flash Video','HTML5')", $this->_user_id) == true) {
             $log .= "<p>Added HTML5 to av.media_format's enum. </p>";
         } else {
             $log .= "<p>Couldn't add HTML5 to av.media_format's enum.</p>";
         }
     }
     if ($this->updated_module('av', 'custom_deleter', 'media_work.php')) {
         $log .= "<p>Already updated the Media Work type's custom deleter to 'media_work.php'.</p>";
     } else {
         $this->add_module('av', 'custom_deleter', 'media_work.php');
         $log .= "<p>Updated the Media Work type's custom deleter to 'media_work.php'.</p>";
     }
     if ($this->updated_module('av', 'custom_previewer', 'media_work.php')) {
         $log .= "<p>Already updated the Media Work type's custom previewer to 'media_work.php'.</p>";
     } else {
         $this->add_module('av', 'custom_previewer', 'media_work.php');
         $log .= "<p>Updated the Media Work type's custom previewer to 'media_work.php'.</p>";
     }
     if ($this->updated_module('av', 'finish_actions', 'media_work_finish.php')) {
         $log .= "<p>Already updated the Media Work type's finish actions to 'media_work_finish.php'.</p>";
     } else {
         $this->add_module('av', 'finish_actions', 'media_work_finish.php');
         $log .= "<p>Updated the Media Work type's finish actions to 'media_work_finish.php'.</p>";
     }
     if ($this->updated_module('av', 'display_name_handler', 'media_work.php')) {
         $log .= "<p>Already updated the Media Work type's display_name_handler to 'media_work.php'.</p>";
     } else {
         $this->add_module('av', 'display_name_handler', 'media_work.php');
         $log .= "<p>Updated the Media Work type's display_name_handler to 'media_work.php'.</p>";
     }
     if ($this->updated_module('av_file', 'custom_previewer', 'media_file.php')) {
         $log .= "<p>Already updated the Media File type's custom previewer to 'media_file.php'.</p>";
     } else {
         $this->add_module('av_file', 'custom_previewer', 'media_file.php');
         $log .= "<p>Updated the Media File type's custom previewer to 'media_file.php'.</p>";
     }
     if ($this->created_restricted_group_relationship() == true) {
         $log .= "<p>Already created the 'av_restricted_to_group' allowable_relationship.</p>";
     } else {
         $this->create_restricted_group_relationship();
         $log .= "<p>Created the 'av_restricted_to_group' allowable_relationship.</p>";
     }
     return $log;
 }