Как удалить массив из другого модуля?

Главные вкладки

Аватар пользователя nashgc nashgc 25 февраля 2017 в 21:47

Привет всем!

Я использую модуль Rules array create для создания массива в модуле Rules. Но всё дело в том что модуль умеет только создавать массив но не удалять. Пытаюсь написать функцию удаления, но не могу понять почему она не работает. В конец модуля я написал функцию удаления масиива котрую пытаюсь вызвать из другого модуля используя комманду drupal_alter, но ничего не происходит.

Вот это исходный код из модуля Rules array create + в конце я дописал свою функцию.


    <?php
    
/**
     * file Provides a rules action that create an array
     */

     /**
    * Implements hook_rules_action_info() on behalf of the user module.
    */
    

function rules_array_create_rules_action_info() {
      
$items['array_create'] = array(
        
'label' => t('Create an array'),
        
'base' => 'rules_array_create_array_create',
        
'group' => t('Data'),
        
'parameter' => array(
          
'size' => array(
            
'type' => 'decimal',
            
'label' => t('Size of the array'),
          ),
        ),
        
'provides' => array(
          
'array_added' => array(
            
'type' => 'list',
            
'label' => t('Added array'),
          ),
        ),
      );
      return 
$items;
    }

        

/**
        * Action: create an array.
        */
        
function rules_array_create_array_create($size) {
          
$item = array();
          for (
$i 1$i <= $size$i ++) {
            
$item[] = $i;
          }
          return array(
'array_added' => $item);
        }

    

/**
    * Это моя функция
    */
  
function rules_array_create_array_delete(&$size2) {
      for (
$i 1$i <= $size2$i ++) {
        unset(
$item[$i]);
      }
      return array(
'array_added' => $item);
    }
?>

Затем я создал аналогичный модуль из которого пытаюсь вызвать свою функцию


<?php
/**
 * file Provides a rules action that create an array
 */

 /**
* Implements hook_rules_action_info() on behalf of the user module.
*/

function rules_array_delete_rules_action_info() {
  
$items['array_delete'] = array(
    
'label' => t('Delete an array'),
    
'base' => 'rules_array_delete_array_delete',
    
'group' => t('Data'),
    
'parameter' => array(
      
'size' => array(
        
'type' => 'decimal',
        
'label' => t('Size of the array'),
      ),
    ),
    
'provides' => array(
      
'array_added' => array(
        
'type' => 'list',
        
'label' => t('dddded array'),
      ),
    ),
  );
  return 
$items;
}

    

/**
    * Пытаюсь вызвать функцию которая удаляет массив
    */
    
function rules_array_delete_array_delete($size) {
     
drupal_alter('rules_array_create_array_delete'$size);
  
    }

?>

Знатоки подскажите что не так, где я косячу? Если способ неверный в корне, подскажите как сделать правильно?

Комментарии