| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 | <?phpfunction elysia_cron_schema() {  $schema['elysia_cron'] = array(    'fields' => array(      'name' => array(        'type' => 'varchar',        'length' => 120,        'not null' => TRUE,      ),      'disable' => array(        'type' => 'int',        'size' => 'tiny',        'not null' => FALSE,      ),      'rule' => array(        'type' => 'varchar',        'not null' => FALSE,        'length' => 32,      ),      'weight' => array(        'type' => 'int',        'not null' => FALSE,      ),      'context' => array(        'type' => 'varchar',        'not null' => FALSE,        'length' => 32,      ),      'running' => array(        'type' => 'int',        'not null' => TRUE,        'default' => 0,        'no export' => TRUE,      ),      'last_run' => array(        'type' => 'int',        'not null' => TRUE,        'default' => 0,        'no export' => TRUE,      ),      'last_aborted' => array(        'type' => 'int',        'size' => 'tiny',        'not null' => TRUE,        'default' => 0,        'no export' => TRUE,      ),      'abort_count' => array(        'type' => 'int',        'not null' => TRUE,        'default' => 0,        'no export' => TRUE,      ),      'last_abort_function' => array(        'type' => 'varchar',        'length' => 32,        'no export' => TRUE,      ),      'last_execution_time' => array(        'type' => 'int',        'not null' => TRUE,        'default' => 0,        'no export' => TRUE,      ),      'execution_count' => array(        'type' => 'int',        'not null' => TRUE,        'default' => 0,        'no export' => TRUE,      ),      'avg_execution_time' => array(        'type' => 'float',        'not null' => TRUE,        'default' => 0,        'no export' => TRUE,      ),      'max_execution_time' => array(        'type' => 'int',        'not null' => TRUE,        'default' => 0,        'no export' => TRUE,      ),      'last_shutdown_time' => array(        'type' => 'int',        'not null' => TRUE,        'default' => 0,        'no export' => TRUE,      ),    ),    'primary key' => array('name'),    'export' => array(      'key' => 'name',      'key name' => 'Cron job name',      'primary key' => 'name',      'identifier' => 'cron_rule',      'object factory' => 'elysia_cron_ctools_export_object_factory',      'load callback' => 'elysia_cron_ctools_export_load',      'load all callback' => 'elysia_cron_ctools_export_load_all',      //'save callback' => 'elysia_cron_ctools_export_save',      'export callback' => 'elysia_cron_ctools_export_callback',      //'import callback' => 'elysia_cron_ctools_import_callback',      'to hook code callback' => 'elysia_cron_ctools_to_hook_code',            'default hook' => 'default_elysia_cron_rules',      'api' => array(        'owner' => 'elysia_cron',        'api' => 'default_elysia_cron_rules',        'minimum_version' => 1,        'current_version' => 1,      ),    ),  );  return $schema;}/** * Implementation of hook_install(). */function elysia_cron_install() {  //drupal_install_schema('elysia_cron');    // elysia_cron MUST be the first returned by module_list  // This is to ensure elysia_cron_cron is the first hook called by standard cron.php.  $min = db_query("select min(weight) from {system}")->fetchField();    if ($min > -65535) {    $min = -65535;   }  else {    $min--;  }  db_update('system')->fields(array('weight' => $min))->condition('name', 'elysia_cron')->execute();    variable_set('elysia_cron_version', elysia_cron_version());    drupal_set_message('Elysia cron installed. Setup could be found at ' . l(t('Settings page'), 'admin/config/system/cron') . '. See INSTALL.TXT for more info.');}/** * Implementation of hook_uninstall(). */function elysia_cron_uninstall() {  $rs = db_query("select name from {variable} where name like 'elysia_cron_%%'");  foreach ($rs as $o) {    variable_del($o->name);  }  //drupal_uninstall_schema('elysia_cron');  drupal_set_message('Elysia cron uninstalled.');}function elysia_cron_update_1() {  $cron_key = variable_get('elysia_cron_key', false);  if ($cron_key) {    variable_set('cron_key', $cron_key);  }  variable_del('elysia_cron_key');}
 |