Only in exif: exif.css diff -up exif.old\exif.info exif\exif.info --- exif.old\exif.info Mon Aug 13 17:00:06 2007 +++ exif\exif.info Tue Feb 26 22:37:26 2008 @@ -1,11 +1,14 @@ ; $Id: exif.info,v 1.1.2.3 2007/06/18 23:06:42 dww Exp $ name = Exif description = "Display Exif metadata on image nodes." -dependencies = image +dependencies[] = image package = Image +core = 6.x ; Information added by drupal.org packaging script on 2007-08-13 version = "5.x-1.1" project = "exif" datestamp = "1187020805" + + diff -up exif.old\exif.install exif\exif.install --- exif.old\exif.install Mon Aug 13 16:42:44 2007 +++ exif\exif.install Tue Feb 26 22:36:00 2008 @@ -2,37 +2,56 @@ // $Id: exif.install,v 1.2.2.1 2007/08/13 15:42:43 davidlesieur Exp $ /** + * Implementation of hook_schema(). + */ +function exif_schema() { + $schema = array(); + $schema['exif'] = array( + 'description' => 'Stores the EXIF data fields display settings.', + 'fields' => array( + 'ifd' => array( + 'description' => '', + 'type' => 'int', + 'not null' => true, + 'default' => 0, + 'unsigned' => true + ), + 'tag' => array( + 'description' => '', + 'type' => 'int', + 'not null' => true, + 'default' => 0, + 'unsigned' => true + ), + 'status' => array( + 'description' => '', + 'type' => 'int', + 'not null' => true, + 'default' => 0, + 'unsigned' => true + ), + 'weight' => array( + 'description' => '', + 'type' => 'int', + 'not null' => true, + 'default' => 0 + ) + ), + 'primary key' => array('ifd', 'tag') + ); + return $schema; +} + +/** * Implementation of hook_install(). */ function exif_install() { - switch ($GLOBALS['db_type']) { - case 'mysql': - case 'mysqli': - db_query("CREATE TABLE {exif} ( - ifd int(10) unsigned NOT NULL default '0', - tag int(10) unsigned NOT NULL default '0', - status int(10) unsigned NOT NULL default '0', - weight int(11) NOT NULL default '0', - PRIMARY KEY (ifd, tag) - ) /*!40100 DEFAULT CHARACTER SET utf8 */;" - ); - break; - case 'pgsql': - db_query("CREATE TABLE {exif} ( - ifd integer NOT NULL default '0', - tag integer NOT NULL default '0', - status integer NOT NULL default '0', - weight integer NOT NULL default '0', - PRIMARY KEY (ifd, tag) - );" - ); - break; - } + // Create tables. + drupal_install_schema('exif'); } - /** * Implementation of hook_uninstall(). */ function exif_uninstall() { - db_query('DROP TABLE {exif}'); -} \ No newline at end of file + drupal_uninstall_schema('exif'); +} diff -up exif.old\exif.module exif\exif.module --- exif.old\exif.module Mon Aug 13 16:42:44 2007 +++ exif\exif.module Tue Feb 26 22:35:34 2008 @@ -6,19 +6,23 @@ include_once drupal_get_path('module', ' /** * Implementation of hook_menu(). */ -function exif_menu($may_cache) { +function exif_menu() { $items = array(); - - if ($may_cache) { - $items[] = array( - 'path' => 'admin/settings/exif', - 'title' => t('Exif'), - 'callback' => 'exif_admin_settings', - 'access' => user_access('administer site configuration'), - 'description' => t('Configure what Exif tags to display.'), - ); - } - + $items['admin/settings/exif'] = array( + 'title' => t('Exif'), + 'page callback' => 'exif_admin_settings', + 'access callback' => 'user_access', + 'access arguments' => array('administer site configuration'), + 'description' => t('Configure what Exif tags to display.'), + ); + $items['exif/%node'] = array( + 'title' => 'exif', + 'type' => MENU_CALLBACK, + 'access callback' => 'node_access', + 'access arguments' => array('view', 1), + 'page callback' => 'exif_callback', + 'page arguments' => array(1) + ); return $items; } @@ -100,7 +104,7 @@ function exif_admin_settings() { return drupal_get_form('exif_admin_settings_form', $tags); } -function exif_admin_settings_form($tags) { +function exif_admin_settings_form(&$form_state, $tags) { foreach ($tags as $tag) { $form['tags']["{$tag->ifd}_{$tag->tag}"]['type'] = array( '#type' => 'markup', @@ -135,7 +139,8 @@ function exif_admin_settings_form($tags) '#type' => 'submit', '#value' => t('Reset to defaults') ); - + // TODO: test without following line + $form['#theme'] = 'exif_admin_settings_form'; return $form; } @@ -275,6 +280,17 @@ function _exif_compare_tags($a, $b) { } } +function exif_theme() { + $theme_hooks = array(); + $theme_hooks['exif_admin_settings_form'] = array( + 'arguments' => array('form' => NULL) + ); + $theme_hooks['exif_table'] = array( + 'arguments' => array('header' => NULL, 'rows' => NULL) + ); + return $theme_hooks; +} + function theme_exif_table($header, $rows) { return theme('table', $header, $rows, array('class' => 'exif')); } @@ -293,4 +309,3 @@ function theme_exif_admin_settings_form( $output .= drupal_render($form); return $output; } - Common subdirectories: exif.old\po and exif\po