danielebarchiesi@0: array( danielebarchiesi@0: 'identifier' => 'handler', danielebarchiesi@0: 'bulk export' => TRUE, danielebarchiesi@0: 'export callback' => 'page_manager_export_task_handler', danielebarchiesi@0: 'load callback' => 'page_manager_export_task_handler_load', danielebarchiesi@0: 'delete callback' => 'page_manager_delete_task_handler', danielebarchiesi@0: 'primary key' => 'did', danielebarchiesi@0: 'api' => array( danielebarchiesi@0: 'owner' => 'page_manager', danielebarchiesi@0: 'api' => 'pages_default', danielebarchiesi@0: 'minimum_version' => 1, danielebarchiesi@0: 'current_version' => 1, danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: 'fields' => array( danielebarchiesi@0: 'did' => array( danielebarchiesi@0: 'type' => 'serial', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'description' => 'Primary ID field for the table. Not used for anything except internal lookups.', danielebarchiesi@0: 'no export' => TRUE, danielebarchiesi@0: ), danielebarchiesi@0: 'name' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '255', danielebarchiesi@0: 'description' => 'Unique ID for this task handler. Used to identify it programmatically.', danielebarchiesi@0: ), danielebarchiesi@0: 'task' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '64', danielebarchiesi@0: 'description' => 'ID of the task this handler is for.', danielebarchiesi@0: ), danielebarchiesi@0: 'subtask' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '64', danielebarchiesi@0: 'description' => 'ID of the subtask this handler is for.', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'default' => '', danielebarchiesi@0: ), danielebarchiesi@0: 'handler' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '64', danielebarchiesi@0: 'description' => 'ID of the task handler being used.', danielebarchiesi@0: ), danielebarchiesi@0: 'weight' => array( danielebarchiesi@0: 'type' => 'int', danielebarchiesi@0: 'description' => 'The order in which this handler appears. Lower numbers go first.', danielebarchiesi@0: ), danielebarchiesi@0: 'conf' => array( danielebarchiesi@0: 'type' => 'text', danielebarchiesi@0: 'size' => 'big', danielebarchiesi@0: 'description' => 'Serialized configuration of the handler, if needed.', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'serialize' => TRUE, danielebarchiesi@0: 'object default' => array(), danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: 'primary key' => array('did'), danielebarchiesi@0: 'unique keys' => array( danielebarchiesi@0: 'name' => array('name'), danielebarchiesi@0: ), danielebarchiesi@0: 'indexes' => array('fulltask' => array('task', 'subtask', 'weight')), danielebarchiesi@0: ); danielebarchiesi@0: danielebarchiesi@0: $schema['page_manager_weights'] = array( danielebarchiesi@0: 'description' => 'Contains override weights for page_manager handlers that are in code.', danielebarchiesi@0: 'fields' => array( danielebarchiesi@0: 'name' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '255', danielebarchiesi@0: 'description' => 'Unique ID for this task handler. Used to identify it programmatically.', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'default' => '', danielebarchiesi@0: ), danielebarchiesi@0: 'weight' => array( danielebarchiesi@0: 'type' => 'int', danielebarchiesi@0: 'description' => 'The order in which this handler appears. Lower numbers go first.', danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: 'primary key' => array('name'), danielebarchiesi@0: 'indexes' => array( danielebarchiesi@0: 'weights' => array('name', 'weight'), danielebarchiesi@0: ), danielebarchiesi@0: ); danielebarchiesi@0: danielebarchiesi@0: $schema['page_manager_pages'] = array( danielebarchiesi@0: 'description' => 'Contains page subtasks for implementing pages with arbitrary tasks.', danielebarchiesi@0: 'export' => array( danielebarchiesi@0: 'identifier' => 'page', danielebarchiesi@0: 'bulk export' => TRUE, danielebarchiesi@0: 'export callback' => 'page_manager_page_export', danielebarchiesi@0: 'api' => array( danielebarchiesi@0: 'owner' => 'page_manager', danielebarchiesi@0: 'api' => 'pages_default', danielebarchiesi@0: 'minimum_version' => 1, danielebarchiesi@0: 'current_version' => 1, danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: 'fields' => array( danielebarchiesi@0: 'pid' => array( danielebarchiesi@0: 'type' => 'serial', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'description' => 'Primary ID field for the table. Not used for anything except internal lookups.', danielebarchiesi@0: 'no export' => TRUE, danielebarchiesi@0: ), danielebarchiesi@0: 'name' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '255', danielebarchiesi@0: 'description' => 'Unique ID for this subtask. Used to identify it programmatically.', danielebarchiesi@0: ), danielebarchiesi@0: 'task' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '64', danielebarchiesi@0: 'description' => 'What type of page this is, so that we can use the same mechanism for creating tighter UIs for targeted pages.', danielebarchiesi@0: 'default' => 'page', danielebarchiesi@0: ), danielebarchiesi@0: 'admin_title' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '255', danielebarchiesi@0: 'description' => 'Human readable title for this page subtask.', danielebarchiesi@0: ), danielebarchiesi@0: 'admin_description' => array( danielebarchiesi@0: 'type' => 'text', danielebarchiesi@0: 'size' => 'big', danielebarchiesi@0: 'description' => 'Administrative description of this item.', danielebarchiesi@0: 'object default' => '', danielebarchiesi@0: ), danielebarchiesi@0: 'path' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '255', danielebarchiesi@0: 'description' => 'The menu path that will invoke this task.', danielebarchiesi@0: ), danielebarchiesi@0: 'access' => array( danielebarchiesi@0: 'type' => 'text', danielebarchiesi@0: 'size' => 'big', danielebarchiesi@0: 'description' => 'Access configuration for this path.', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'serialize' => TRUE, danielebarchiesi@0: 'object default' => array(), danielebarchiesi@0: ), danielebarchiesi@0: 'menu' => array( danielebarchiesi@0: 'type' => 'text', danielebarchiesi@0: 'size' => 'big', danielebarchiesi@0: 'description' => 'Serialized configuration of Drupal menu visibility settings for this item.', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'serialize' => TRUE, danielebarchiesi@0: 'object default' => array(), danielebarchiesi@0: ), danielebarchiesi@0: 'arguments' => array( danielebarchiesi@0: 'type' => 'text', danielebarchiesi@0: 'size' => 'big', danielebarchiesi@0: 'description' => 'Configuration of arguments for this menu item.', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'serialize' => TRUE, danielebarchiesi@0: 'object default' => array(), danielebarchiesi@0: ), danielebarchiesi@0: 'conf' => array( danielebarchiesi@0: 'type' => 'text', danielebarchiesi@0: 'size' => 'big', danielebarchiesi@0: 'description' => 'Serialized configuration of the page, if needed.', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'serialize' => TRUE, danielebarchiesi@0: 'object default' => array(), danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: 'primary key' => array('pid'), danielebarchiesi@0: 'unique keys' => array( danielebarchiesi@0: 'name' => array('name'), danielebarchiesi@0: ), danielebarchiesi@0: 'indexes' => array('task' => array('task')), danielebarchiesi@0: ); danielebarchiesi@0: danielebarchiesi@0: return $schema; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implements hook_install(). danielebarchiesi@0: */ danielebarchiesi@0: function page_manager_install() { danielebarchiesi@0: db_update('system') danielebarchiesi@0: ->fields(array('weight' => 99)) danielebarchiesi@0: ->condition('name', 'page_manager') danielebarchiesi@0: ->execute(); danielebarchiesi@0: }