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