コード例 #1
0
 public static function updateMode()
 {
     $finalResult = array();
     if (CRM_Utils_Array::value('mode', $_REQUEST) && CRM_Utils_Array::value('entityId', $_REQUEST) && CRM_Utils_Array::value('entityTable', $_REQUEST)) {
         $mode = CRM_Utils_Type::escape($_REQUEST['mode'], 'Integer');
         $entityId = CRM_Utils_Type::escape($_REQUEST['entityId'], 'Integer');
         $entityTable = CRM_Utils_Type::escape($_REQUEST['entityTable'], 'String');
         if (!empty($_REQUEST['linkedEntityTable'])) {
             $result = CRM_Core_BAO_RecurringEntity::updateModeLinkedEntity($entityId, $_REQUEST['linkedEntityTable'], $entityTable);
         }
         $dao = new CRM_Core_DAO_RecurringEntity();
         if (!empty($result)) {
             $dao->entity_id = $result['entityId'];
             $dao->entity_table = $result['entityTable'];
         } else {
             $dao->entity_id = $entityId;
             $dao->entity_table = $entityTable;
         }
         if ($dao->find(TRUE)) {
             $dao->mode = $mode;
             $dao->save();
             $finalResult['status'] = 'Done';
         } else {
             $finalResult['status'] = 'Error';
         }
     }
     CRM_Utils_JSON::output($finalResult);
 }
コード例 #2
0
ファイル: RecurringEntity.php プロジェクト: agroknow/mermix
 /**
  * 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['recurring_entity'] =& $fields[$name];
                 } else {
                     self::$_export[$name] =& $fields[$name];
                 }
             }
         }
     }
     return self::$_export;
 }
コード例 #3
0
ファイル: RecurringEntity.php プロジェクト: kidaa30/yes
 /**
  * This function deletes main entity and related linked entities from recurring-entity table
  *
  * @param int $entityId
  *   Entity id
  * @param string $entityTable
  *   Name of the entity table
  *
  *
  * @return bool|CRM_Core_DAO_RecurringEntity
  */
 public static function delEntity($entityId, $entityTable, $isDelLinkedEntities = FALSE)
 {
     if (empty($entityId) || empty($entityTable)) {
         return FALSE;
     }
     $dao = new CRM_Core_DAO_RecurringEntity();
     $dao->entity_id = $entityId;
     $dao->entity_table = $entityTable;
     if ($dao->find(TRUE)) {
         // make sure its not a linked entity thats being deleted
         if ($isDelLinkedEntities && !array_key_exists($entityTable, self::$_linkedEntitiesInfo)) {
             // delete all linked entities from recurring entity table
             foreach (self::$_linkedEntitiesInfo as $linkedTable => $linfo) {
                 $daoName = self::$_tableDAOMapper[$linkedTable];
                 if (!$daoName) {
                     CRM_Core_Error::fatal("DAO Mapper missing for {$linkedTable}.");
                 }
                 $linkedDao = new $daoName();
                 $linkedDao->{$linfo}['entity_id_col'] = $entityId;
                 $linkedDao->{$linfo}['entity_table_col'] = $entityTable;
                 $linkedDao->find();
                 while ($linkedDao->fetch()) {
                     CRM_Core_BAO_RecurringEntity::delEntity($linkedDao->id, $linkedTable, FALSE);
                 }
             }
         }
         // delete main entity
         return $dao->delete();
     }
     return FALSE;
 }