summaryrefslogtreecommitdiff
path: root/modules/upload
diff options
context:
space:
mode:
Diffstat (limited to 'modules/upload')
-rw-r--r--modules/upload/upload.module43
1 files changed, 21 insertions, 22 deletions
diff --git a/modules/upload/upload.module b/modules/upload/upload.module
index d4c2ad5a5..26a46e74b 100644
--- a/modules/upload/upload.module
+++ b/modules/upload/upload.module
@@ -361,13 +361,7 @@ function upload_form_alter($form_id, &$form) {
if (isset($form['type'])) {
$node = $form['#node'];
-
if ($form['type']['#value'] .'_node_form' == $form_id && variable_get("upload_$node->type", TRUE)) {
- if (user_access('upload files')) {
- $form['#validate']['upload_node_validate'] = array();
- $form['#submit']['upload_node_submit'] = array();
- }
-
drupal_add_js('misc/progress.js');
drupal_add_js('misc/upload.js');
@@ -393,14 +387,9 @@ function upload_form_alter($form_id, &$form) {
$form['#attributes']['enctype'] = 'multipart/form-data';
}
}
-
- if ($form_id == 'node_delete_confirm') {
- $form['#submit']['upload_node_delete_confirm_submit'] = array();
- }
}
-function upload_node_validate($form_id, $node) {
- $node = (object)$node;
+function _upload_validate(&$node) {
// Accumulator for disk space quotas.
$filesize = 0;
@@ -492,6 +481,10 @@ function upload_nodeapi(&$node, $op, $teaser) {
_upload_prepare($node);
break;
+ case 'validate':
+ _upload_validate($node);
+ break;
+
case 'view':
if (isset($node->files) && user_access('view uploaded files')) {
// Add the attachments list to node body with a heavy
@@ -526,6 +519,18 @@ function upload_nodeapi(&$node, $op, $teaser) {
}
}
break;
+
+ case 'insert':
+ case 'update':
+ if (user_access('upload files')) {
+ upload_save($node);
+ }
+ break;
+
+ case 'delete':
+ upload_delete($node);
+ break;
+
case 'delete revision':
upload_delete_revision($node);
break;
@@ -572,12 +577,6 @@ function upload_fix_preview_urls($elements, &$content) {
}
}
-function upload_node_submit($form_id, $node) {
- if (user_access('upload files')) {
- upload_save($node);
- }
-}
-
/**
* Displays file attachments in table
*/
@@ -729,9 +728,9 @@ function upload_save($node) {
}
}
-function upload_node_delete_confirm_submit($form_id, $form_values) {
+function upload_delete($node) {
$files = array();
- $result = db_query('SELECT * FROM {files} WHERE nid = %d', $form_values['node']->nid);
+ $result = db_query('SELECT * FROM {files} WHERE nid = %d', $node->nid);
while ($file = db_fetch_object($result)) {
$files[$file->fid] = $file;
}
@@ -743,7 +742,7 @@ function upload_node_delete_confirm_submit($form_id, $form_values) {
}
// Delete all files associated with the node
- db_query('DELETE FROM {files} WHERE nid = %d', $form_values['node']->nid);
+ db_query('DELETE FROM {files} WHERE nid = %d', $node->nid);
}
function upload_delete_revision($node) {
@@ -883,7 +882,7 @@ function upload_js() {
// Handle new uploads, and merge tmp files into node-files.
_upload_prepare($node);
- upload_node_validate(NULL, $node);
+ _upload_validate($node);
$form = _upload_form($node);
foreach (module_implements('form_alter') as $module) {