More progress on attachment delete.
authorNik Okuntseff <support@anuko.com>
Thu, 28 Mar 2019 15:49:50 +0000 (15:49 +0000)
committerNik Okuntseff <support@anuko.com>
Thu, 28 Mar 2019 15:49:50 +0000 (15:49 +0000)
WEB-INF/lib/ttFileHelper.class.php
WEB-INF/templates/footer.tpl
project_files.php

index d44fa56..d5815f4 100644 (file)
@@ -179,6 +179,7 @@ class ttFileHelper {
     }
 
     // File put was successful. Store file attributes locally.
+    $file_key = $mdb2->quote($file_key);
     $entity_type = $mdb2->quote($fields['entity_type']);
     $entity_id = (int) $fields['entity_id'];
     $file_name = $mdb2->quote($fields['file_name']);
@@ -187,8 +188,8 @@ class ttFileHelper {
     $created_ip = $mdb2->quote($_SERVER['REMOTE_ADDR']);
     $created_by = $user->id;
 
-    $columns = '(group_id, org_id, remote_id, entity_type, entity_id, file_name, description, created, created_ip, created_by)';
-    $values = "values($group_id, $org_id, $file_id, $entity_type, $entity_id, $file_name, $description, $created, $created_ip, $created_by)";
+    $columns = '(group_id, org_id, remote_id, file_key, entity_type, entity_id, file_name, description, created, created_ip, created_by)';
+    $values = "values($group_id, $org_id, $file_id, $file_key, $entity_type, $entity_id, $file_name, $description, $created, $created_ip, $created_by)";
     $sql = "insert into tt_files $columns $values";
     $affected = $mdb2->exec($sql);
     return (!is_a($affected, 'PEAR_Error'));
@@ -240,7 +241,7 @@ class ttFileHelper {
     }
 
     $result_array = json_decode($result, true);
-    // $status = (int) $result_array['status'];
+    $status = (int) $result_array['status'];
     $error = $result_array['error'];
 
     if ($error) {
@@ -248,17 +249,23 @@ class ttFileHelper {
       $this->errors->add($error);
       return false;
     }
+    if ($status != 1) {
+      // There is no explicit error message, but still something not right.
+      $this->errors->add($i18n->get('error.file_storage'));
+      return false;
+    }
 
     // Delete file reference from database.
-    $file_id = $file['id'];
+    $file_id = $fields['id'];
     $sql = "delete from tt_files".
       " where id = $file_id and org_id = $org_id and group_id = $group_id";
     $affected = $mdb2->exec($sql);
     if (is_a($affected, 'PEAR_Error')) {
-      $err->add($i18n->get('error.db'));
+      $this->errors->add($i18n->get('error.db'));
       return false;
     }
 
+    // File successfully deleted from both file storage and database.
     return true;
   }
 
@@ -289,7 +296,7 @@ class ttFileHelper {
   }
 
   // getProjectFiles obtains a list of files for a project.
-  function getProjectFiles($project_id) {
+  static function getProjectFiles($project_id) {
     global $user;
     $mdb2 = getConnection();
 
index 2df7cbf..7e19867 100644 (file)
@@ -12,7 +12,7 @@
       <br>
       <table cellspacing="0" cellpadding="4" width="100%" border="0">
         <tr>
-          <td align="center">&nbsp;Anuko Time Tracker 1.18.61.4892 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
+          <td align="center">&nbsp;Anuko Time Tracker 1.18.61.4893 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
             <a href="https://www.anuko.com/lp/tt_4.htm" target="_blank">{$i18n.footer.credits}</a> |
             <a href="https://www.anuko.com/lp/tt_5.htm" target="_blank">{$i18n.footer.license}</a> |
             <a href="https://www.anuko.com/lp/tt_7.htm" target="_blank">{$i18n.footer.improve}</a>
index 6abd0af..860ba07 100644 (file)
@@ -78,8 +78,7 @@ if ($request->isPost()) {
     if ($fileHelper->putFile($fields)) {
       header('Location: project_files.php?id='.$cl_project_id);
       exit();
-    } else
-      $err->add($i18n->get('error.file_storage'));
+    }
   }
 } // isPost