? files ? modules/devel.module Index: database/database.mysql =================================================================== RCS file: /cvs/drupal/drupal/database/database.mysql,v retrieving revision 1.199 diff -u -r1.199 database.mysql --- database/database.mysql 18 Sep 2005 17:08:44 -0000 1.199 +++ database/database.mysql 18 Sep 2005 17:38:48 -0000 @@ -247,6 +247,7 @@ nid int(10) unsigned NOT NULL default '0', vid int(10) unsigned NOT NULL default '0', filename varchar(255) NOT NULL default '', + filetitle varchar(255) NOT NULL default '', filepath varchar(255) NOT NULL default '', filemime varchar(255) NOT NULL default '', filesize int(10) unsigned NOT NULL default '0', Index: database/database.pgsql =================================================================== RCS file: /cvs/drupal/drupal/database/database.pgsql,v retrieving revision 1.138 diff -u -r1.138 database.pgsql --- database/database.pgsql 18 Sep 2005 17:08:44 -0000 1.138 +++ database/database.pgsql 18 Sep 2005 17:39:03 -0000 @@ -242,6 +242,7 @@ fid SERIAL, nid integer NOT NULL default '0', vid integer NOT NULL default '0', + filetitle varchar(255) NOT NULL default '', filename varchar(255) NOT NULL default '', filepath varchar(255) NOT NULL default '', filemime varchar(255) NOT NULL default '', Index: database/updates.inc =================================================================== RCS file: /cvs/drupal/drupal/database/updates.inc,v retrieving revision 1.135 diff -u -r1.135 updates.inc --- database/updates.inc 18 Sep 2005 17:08:44 -0000 1.135 +++ database/updates.inc 18 Sep 2005 17:40:35 -0000 @@ -67,7 +67,8 @@ "2005-08-15" => "update_145", "2005-08-25" => "update_146", "2005-09-07" => "update_147", - "2005-09-18" => "update_148" + "2005-09-18" => "update_148", + "2005-09-18" => "update_149" ); function update_110() { @@ -833,6 +834,22 @@ return $ret; } +function update_149() { + $ret = array(); + + switch ($GLOBALS['db_type']) { + case 'pgsql': + case 'mysql': + case 'mysqli': + $ret[] = update_sql("ALTER TABLE {files} ADD COLUMN filetitle VARCHAR(255) NOT NULL DEFAULT ''"); + break; + default: + break; + } + + return $ret; +} + function update_sql($sql) { $edit = $_POST["edit"]; $result = db_query($sql); Index: modules/upload.module =================================================================== RCS file: /cvs/drupal/drupal/modules/upload.module,v retrieving revision 1.51 diff -u -r1.51 upload.module --- modules/upload.module 2 Sep 2005 02:11:41 -0000 1.51 +++ modules/upload.module 18 Sep 2005 17:39:09 -0000 @@ -152,6 +152,7 @@ $node->files[$file->source] = $file; $node->files[$key]->list = $node->list[$key]; $node->files[$key]->remove = $node->remove[$key]; + $node->files[$key]->filetitle = $node->filetitle[$key]; if ($file->source) { $filesize += $file->filesize; } @@ -244,7 +245,7 @@ foreach ($node->files as $file) { if ($file->list) { $rows[] = array( - ''. check_plain($file->filename) .'', + ''. check_plain((!empty($file->filetitle)) ? $file->filetitle : $file->filename) .'', format_size($file->filesize) ); // We save the list of files still in preview for later @@ -342,8 +343,8 @@ // Insert new files: if ($file = file_save_upload($file, $file->filename)) { $fid = db_next_id('{files}_fid'); - db_query("INSERT INTO {files} (fid, nid, vid, filename, filepath, filemime, filesize, list) VALUES (%d, %d, %d, '%s', '%s', '%s', %d, %d)", - $fid, $node->nid, $node->vid, $file->filename, $file->filepath, $file->filemime, $file->filesize, $node->list[$key]); + db_query("INSERT INTO {files} (fid, nid, vid, filename, filepath, filemime, filesize, list, filetitle) VALUES (%d, %d, %d, '%s', '%s', '%s', %d, %d, '%s')", + $fid, $node->nid, $node->vid, $file->filename, $file->filepath, $file->filemime, $file->filesize, $node->list[$key], $file->filetitle); } } } @@ -360,15 +361,15 @@ } foreach ((array)$node->list as $key => $value) { if (!$node->remove[$key]) { - db_query('UPDATE {files} SET list = %d WHERE fid = %d AND vid = %d', $node->list[$key], $key, $node->vid); + db_query('UPDATE {files} SET list = %d, filetitle = \'%s\' WHERE fid = %d AND vid = %d', $node->list[$key], $node->filetitle[$key], $key, $node->vid); } } if ($node->old_vid) { foreach ((array)$node->remove as $key => $remove) { if (!$remove) { $file = db_fetch_object(db_query('SELECT * FROM {files} WHERE vid = %d AND fid = %d', $node->old_vid, $key)); - db_query("INSERT INTO {files} (fid, nid, vid, filename, filepath, filemime, filesize, list) VALUES (%d, %d, %d, '%s', '%s', '%s', %d, %d)", - $key, $node->nid, $node->vid, $file->filename, $file->filepath, $file->filemime, $file->filesize, $file->list); + db_query("INSERT INTO {files} (fid, nid, vid, filename, filepath, filemime, filesize, list, filetitle) VALUES (%d, %d, %d, '%s', '%s', '%s', %d, %d, '%s')", + $key, $node->nid, $node->vid, $file->filename, $file->filepath, $file->filemime, $file->filesize, $file->list, $file->filetitle); } } } @@ -393,7 +394,7 @@ } function _upload_form($node) { - $header = array(t('Delete'), t('List'), t('Url'), t('Size')); + $header = array(t('Delete'), t('List'), t('Url'), t('Title'), t('Size')); $rows = array(); $output = ''; @@ -403,6 +404,7 @@ form_checkbox('', "remove][$key", 1, $file->remove), form_checkbox('', "list][$key", 1, $file->list), $file->filename ."
". file_create_url(($file->fid ? $file->filepath : file_create_filename($file->filename, file_create_path()))) ."", + form_textfield('', "filetitle][$key", (!empty($file->filetitle) ? $file->filetitle : $file->filename), 30, 256), format_size($file->filesize) ); }