Index: database/database.mysql =================================================================== RCS file: /cvs/drupal/drupal/database/database.mysql,v retrieving revision 1.197 diff -u -r1.197 database.mysql --- database/database.mysql 14 Sep 2005 21:37:11 -0000 1.197 +++ database/database.mysql 15 Sep 2005 13:46:23 -0000 @@ -246,6 +246,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.136 diff -u -r1.136 database.pgsql --- database/database.pgsql 14 Sep 2005 21:37:11 -0000 1.136 +++ database/database.pgsql 15 Sep 2005 13:46:23 -0000 @@ -241,6 +241,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.134 diff -u -r1.134 updates.inc --- database/updates.inc 14 Sep 2005 21:37:11 -0000 1.134 +++ database/updates.inc 15 Sep 2005 13:48:54 -0000 @@ -66,7 +66,8 @@ "2005-08-08" => "update_144", "2005-08-15" => "update_145", "2005-08-25" => "update_146", - "2005-09-07" => "update_147" + "2005-09-07" => "update_147", + "2005-09-15" => "update_148" ); function update_110() { @@ -811,6 +812,22 @@ return $ret; } +function update_148() { + $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"]; 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 15 Sep 2005 13:46:23 -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) ); }