Exemplo n.º 1
0
 /**
  * Delete Dashlet
  *
  * @return void
  * @static
  */
 static function deleteDashlet($dashletID)
 {
     require_once "CRM/Core/DAO/Dashboard.php";
     $dashlet = new CRM_Core_DAO_Dashboard();
     $dashlet->id = $dashletID;
     $dashlet->delete();
 }
Exemplo n.º 2
0
 /**
  * Delete Dashlet.
  *
  * @param int $dashletID
  *
  * @return bool
  */
 public static function deleteDashlet($dashletID)
 {
     $dashlet = new CRM_Core_DAO_Dashboard();
     $dashlet->id = $dashletID;
     $dashlet->delete();
     return TRUE;
 }
Exemplo n.º 3
0
 /**
  * Returns the list of fields that can be exported
  *
  * @param bool $prefix
  *
  * @return array
  */
 static function &export($prefix = false)
 {
     if (!self::$_export) {
         self::$_export = array();
         $fields = self::fields();
         foreach ($fields as $name => $field) {
             if (CRM_Utils_Array::value('export', $field)) {
                 if ($prefix) {
                     self::$_export['dashboard'] =& $fields[$name];
                 } else {
                     self::$_export[$name] =& $fields[$name];
                 }
             }
         }
     }
     return self::$_export;
 }
Exemplo n.º 4
0
 /**
  * @param $rev
  *
  * @return bool
  */
 public function upgrade_4_4_4($rev)
 {
     $fkConstraint = array();
     if (!CRM_Core_DAO::checkFKConstraintInFormat('civicrm_activity_contact', 'activity_id')) {
         $fkConstraint[] = "ADD CONSTRAINT `FK_civicrm_activity_contact_activity_id` FOREIGN KEY (`activity_id`) REFERENCES `civicrm_activity` (`id`) ON DELETE CASCADE";
     }
     if (!CRM_Core_DAO::checkFKConstraintInFormat('civicrm_activity_contact', 'contact_id')) {
         $fkConstraint[] = "ADD CONSTRAINT `FK_civicrm_activity_contact_contact_id` FOREIGN KEY (`contact_id`) REFERENCES `civicrm_contact` (`id`) ON DELETE CASCADE;\n";
     }
     if (!empty($fkConstraint)) {
         $fkConstraint = implode(',', $fkConstraint);
         $sql = "ALTER TABLE `civicrm_activity_contact`\n{$fkConstraint}\n";
         // CRM-14036 : delete entries of un-mapped contacts
         CRM_Core_DAO::executeQuery("DELETE ac FROM civicrm_activity_contact ac\nLEFT JOIN civicrm_contact c\nON c.id = ac.contact_id\nWHERE c.id IS NULL;\n");
         // delete entries of un-mapped activities
         CRM_Core_DAO::executeQuery("DELETE ac FROM civicrm_activity_contact ac\nLEFT JOIN civicrm_activity a\nON a.id = ac.activity_id\nWHERE a.id IS NULL;\n");
         CRM_Core_DAO::executeQuery("SET FOREIGN_KEY_CHECKS=0;");
         CRM_Core_DAO::executeQuery($sql);
         CRM_Core_DAO::executeQuery("SET FOREIGN_KEY_CHECKS=1;");
     }
     // task to process sql
     $this->addTask(ts('Upgrade DB to %1: SQL', array(1 => '4.4.4')), 'runSql', $rev);
     // CRM-13892 : add `name` column to dashboard schema
     $query = "\nALTER TABLE civicrm_dashboard\n    ADD name varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Internal name of dashlet.' AFTER domain_id ";
     CRM_Core_DAO::executeQuery($query, array(), TRUE, NULL, FALSE, FALSE);
     $dashboard = new CRM_Core_DAO_Dashboard();
     $dashboard->find();
     while ($dashboard->fetch()) {
         $urlElements = explode('/', $dashboard->url);
         if ($urlElements[1] == 'dashlet') {
             $url = explode('&', $urlElements[2]);
             $name = $url[0];
         } elseif ($urlElements[1] == 'report') {
             $url = explode('&', $urlElements[3]);
             $name = 'report/' . $url[0];
         }
         $values .= "\n      WHEN {$dashboard->id} THEN '{$name}'\n      ";
     }
     $query = "\n     UPDATE civicrm_dashboard\n  SET name = CASE id\n  {$values}\n  END;\n    ";
     CRM_Core_DAO::executeQuery($query, array(), TRUE, NULL, FALSE, FALSE);
     // CRM-13998 : missing alter statements for civicrm_report_instance
     $this->addTask(ts('Confirm civicrm_report_instance sql table for upgrades'), 'updateReportInstanceTable');
     return TRUE;
 }
Exemplo n.º 5
0
 /**
  * Delete Dashlet.
  *
  * @param int $dashletID
  *
  * @return bool
  */
 public static function deleteDashlet($dashletID)
 {
     $dashlet = new CRM_Core_DAO_Dashboard();
     $dashlet->id = $dashletID;
     if (!$dashlet->find(TRUE)) {
         return FALSE;
     }
     $dashlet->delete();
     return TRUE;
 }