Example #1
0
 /**
  * Search for invalid foreign-keys and required columns.
  */
 public function showCleanup()
 {
     $this->showMainMenu();
     $form = new Curry_Form(array('action' => url('', array("module", "view")), 'method' => 'post', 'elements' => array('fix' => array('checkbox', array('label' => 'Set invalid FKs to null', 'required' => true)), 'delete' => array('checkbox', array('label' => 'Delete rows with invalid required FKs', 'required' => true)), 'scan' => array('submit', array('label' => 'Go')))));
     if (isPost() && $form->isValid($_POST)) {
         $this->addMainContent($form);
         if ($form->scan->isChecked()) {
             $numInvalidRows = 0;
             foreach (Curry_Propel::getModels() as $classes) {
                 foreach ($classes as $clazz) {
                     $this->addMessage("Scanning table {$clazz}");
                     $numInvalidRows += Curry_Backend_DatabaseHelper::scanTable($clazz, $form->fix->getValue(), $form->delete->getValue(), $this);
                 }
             }
             if ($numInvalidRows) {
                 $this->addMessage("{$numInvalidRows} invalid rows found.", self::MSG_WARNING);
             } else {
                 $this->addMessage("No invalid rows found.", self::MSG_SUCCESS);
             }
         }
     } else {
         $this->addMainContent($form);
     }
 }