/**
  * Обновить файл счет-фактуры.
  *
  * @param type $invoice_id
  * @param type $file
  */
 public function updateFactura($invoice_id, $uploaded_file)
 {
     if (!$uploaded_file || !is_array($uploaded_file) || !$uploaded_file['size']) {
         return false;
     }
     $data = $this->getInvoice($invoice_id);
     if (!$data) {
         return false;
     }
     $old_file = new CFile();
     $old_file->table = self::$_TABLE_FILE;
     $old_file->GetInfoById($data['file_factura_id']);
     $file = new CFile($uploaded_file);
     $file->table = self::$_TABLE_FILE;
     $file->src_id = $old_file->src_id;
     $file->original_name = $old_file->original_name;
     $file->server_root = 1;
     $file->MoveUploadedFile($old_file->path);
     $old_file->Delete($data['file_factura_id']);
     $this->update($invoice_id, array('file_factura_id' => $file->id));
     return true;
 }
Example #2
0
function DeleteEditFile($id)
{
    $objResponse = new xajaxResponse();
    if (hasPermissions('docs')) {
        if ($id == 0) {
            $objResponse->script('$("file_' . $id . '").destroy();');
            return $objResponse;
        } else {
            $objResponse->script('$("attach_files_' . $id . '").destroy();');
            $objResponse->script('$("file_' . $id . '").destroy();');
            require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/CFile.php';
            $tmp = new CFile();
            $tmp->GetInfoById($id);
            $tmp->Delete($id);
        }
    }
    return $objResponse;
}
Example #3
0
 /**
  * Изменение документа
  *
  * @param    integer  $id      ID документа
  * @param    array    $data    Данные документа
  */
 function updateDocument($id, $data)
 {
     global $DB;
     if (!$data['letters_doc_frm_user_3_db_id'] || $data['letters_doc_frm_user_3_db_id'] == 'null') {
         $data['letters_doc_frm_user_3_db_id'] = null;
         $data['letters_doc_frm_user3_status_data'] = null;
         $data['letters_doc_frm_user3_status_date_data'] = null;
     }
     if (!$data['letters_doc_frm_user3_status_date_data']) {
         $data['letters_doc_frm_user3_status_date_data'] = null;
     }
     if (!$data['letters_doc_frm_user2_status_date_data']) {
         $data['letters_doc_frm_user2_status_date_data'] = null;
     }
     if (!$data['letters_doc_frm_user1_status_date_data']) {
         $data['letters_doc_frm_user1_status_date_data'] = null;
     }
     if (!$data['letters_doc_frm_user3_status_data']) {
         $data['letters_doc_frm_user3_status_data'] = null;
     }
     if (!$data['letters_doc_frm_user2_status_data']) {
         $data['letters_doc_frm_user2_status_data'] = null;
     }
     if (!$data['letters_doc_frm_user1_status_data']) {
         $data['letters_doc_frm_user1_status_data'] = null;
     }
     if (!$data['letters_doc_frm_parent_db_id'] || $data['letters_doc_frm_parent_db_id'] == 'null') {
         $data['letters_doc_frm_parent_db_id'] = null;
     }
     if (!$data['letters_doc_frm_group'] || $data['letters_doc_frm_group'] == 'null') {
         $data['letters_doc_frm_group'] = null;
     }
     if (!$data['letters_doc_frm_group_db_id'] || $data['letters_doc_frm_group_db_id'] == 'null') {
         $data['letters_doc_frm_group_db_id'] = null;
     }
     if (!$data['letters_doc_frm_group_db_id'] && !empty($data['letters_doc_frm_group'])) {
         $data['letters_doc_frm_group_db_id'] = letters::checkCreateGroup($data['letters_doc_frm_group']);
     }
     if ($data['letters_doc_frm_user_1_section'] == '1') {
         $data['letters_doc_frm_user_1_section'] = true;
     } else {
         $data['letters_doc_frm_user_1_section'] = false;
     }
     if ($data['letters_doc_frm_user_2_section'] == '1') {
         $data['letters_doc_frm_user_2_section'] = true;
     } else {
         $data['letters_doc_frm_user_2_section'] = false;
     }
     if ($data['letters_doc_frm_user_3_section'] == '1') {
         $data['letters_doc_frm_user_3_section'] = true;
     } else {
         $data['letters_doc_frm_user_3_section'] = false;
     }
     if ($data['letters_doc_frm_withoutourdoc'] == '1') {
         $data['letters_doc_frm_withoutourdoc'] = true;
     } else {
         $data['letters_doc_frm_withoutourdoc'] = false;
     }
     $doc = self::getDocument($id);
     $doc_data['title'] = $data['letters_doc_frm_title'];
     $doc_data['user_1'] = $data['letters_doc_frm_user_1_db_id'];
     $doc_data['user_2'] = $data['letters_doc_frm_user_2_db_id'];
     $doc_data['user_3'] = $data['letters_doc_frm_user_3_db_id'];
     $doc_data['group_id'] = $data['letters_doc_frm_group_db_id'];
     $doc_data['parent'] = $data['letters_doc_frm_parent_db_id'];
     $doc_data['user_status_1'] = $data['letters_doc_frm_user1_status_data'];
     $doc_data['user_status_2'] = $data['letters_doc_frm_user2_status_data'];
     $doc_data['user_status_3'] = $data['letters_doc_frm_user3_status_data'];
     $doc_data['user_status_date_1'] = $data['letters_doc_frm_user1_status_date_data'];
     $doc_data['user_status_date_2'] = $data['letters_doc_frm_user2_status_date_data'];
     $doc_data['user_status_date_3'] = $data['letters_doc_frm_user3_status_date_data'];
     $doc_data['is_user_1_company'] = $data['letters_doc_frm_user_1_section'] ? 't' : 'f';
     $doc_data['is_user_2_company'] = $data['letters_doc_frm_user_2_section'] ? 't' : 'f';
     $doc_data['is_user_3_company'] = $data['letters_doc_frm_user_3_section'] ? 't' : 'f';
     $doc_data['withoutourdoc'] = $data['withoutourdoc'] ? 't' : 'f';
     if (isset($data['letters_doc_frm_comment']) && $data['letters_doc_frm_comment']) {
         $doc_data['comment'] = $data['letters_doc_frm_comment'];
     } else {
         $data['letters_doc_frm_comment'] = $doc['comment'];
     }
     if ($doc_data['user_status_1'] != $doc['user_status_1'] || $doc_data['user_status_2'] != $doc['user_status_2'] || $doc_data['user_status_3'] != $doc['user_status_3']) {
         letters::updateDateStatusChange($id);
     }
     letters::saveHistory($id, $doc_data);
     $sql = "UPDATE letters SET\n                                     date_add = " . ($data['letters_doc_frm_dateadd_eng_format'] ? "'{$data['letters_doc_frm_dateadd_eng_format']}'" : "NOW()") . ",\n                                     title = ?,\n                                     user_1 = ?,\n                                     user_2 = ?,\n                                     user_3 = ?,\n                                     group_id = ?,\n                                     parent = ?,\n                                     user_status_1 = ?, \n                                     user_status_2 = ?, \n                                     user_status_3 = ?, \n                                     user_status_date_1 = ?, \n                                     user_status_date_2 = ?, \n                                     user_status_date_3 = ?,\n                                     is_user_1_company = ?,  \n                                     is_user_2_company = ?, \n                                     is_user_3_company = ?, \n                                     withoutourdoc = ?,\n                                     comment = ?\n                WHERE id = ?i;";
     $DB->query($sql, $data['letters_doc_frm_title'], $data['letters_doc_frm_user_1_db_id'], $data['letters_doc_frm_user_2_db_id'], $data['letters_doc_frm_user_3_db_id'], $data['letters_doc_frm_group_db_id'], $data['letters_doc_frm_parent_db_id'], $data['letters_doc_frm_user1_status_data'], $data['letters_doc_frm_user2_status_data'], $data['letters_doc_frm_user3_status_data'], $data['letters_doc_frm_user1_status_date_data'], $data['letters_doc_frm_user2_status_date_data'], $data['letters_doc_frm_user3_status_date_data'], $data['letters_doc_frm_user_1_section'], $data['letters_doc_frm_user_2_section'], $data['letters_doc_frm_user_3_section'], $data['letters_doc_frm_withoutourdoc'], $data['letters_doc_frm_comment'], $id);
     $sql = "UPDATE letters SET is_out=false WHERE (user_status_1 IS DISTINCT FROM 1 AND user_status_2 IS DISTINCT FROM 1 AND user_status_3 IS DISTINCT FROM 1) AND id=?i";
     $DB->query($sql, $id);
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/CFile.php";
     $attachedfiles = new attachedfiles($data['attachedfiles_session']);
     $attachedfiles_files = $attachedfiles->getFiles();
     if ($attachedfiles_files) {
         foreach ($attachedfiles_files as $attachedfiles_file) {
             $cFile = new CFile();
             $cFile->table = 'file';
             $cFile->GetInfoById($attachedfiles_file['id']);
             if ($cFile->id != $doc['file_id']) {
                 $ext = $cFile->getext();
                 $tmp_dir = "letters/";
                 $tmp_name = $cFile->secure_tmpname($tmp_dir, '.' . $ext);
                 $tmp_name = substr_replace($tmp_name, "", 0, strlen($tmp_dir));
                 $cFile->_remoteCopy($tmp_dir . $tmp_name, true);
                 $sql = "UPDATE letters SET file_id = ?i WHERE id = ?i";
                 $DB->query($sql, $cFile->id, intval($id));
                 $cFile->delete($doc['file_id']);
             }
         }
     }
     $attachedfiles->clear();
     return $id;
 }
Example #4
0
             if ($rf == $interview['main_foto']) {
                 $files->Delete(0, $interview['path'], 'sm_' . $interview['fname']);
                 $result['main_photo'] = array();
             }
         }
     }
 }
 if (!isset($alert)) {
     $result['success'] = true;
     $int_files = $int->getInterviewFiles($id);
     $result['attaches'] = $int_files;
     $result['id'] = $id;
     $result['WDCPREFIX'] = WDCPREFIX;
     $result['user'] = array('id' => $user->uid, 'login' => $user->login, 'fullname' => iconv('CP1251', 'UTF-8', $user->uname . ' ' . $user->usurname));
     if ($attached['main']) {
         $files->GetInfoById($attached['main']);
         $result['main_photo'] = array('id' => $files->id, 'path' => $files->path, 'fname' => $files->name);
     }
     $result['page_view'] = __paramInit('string', null, 'page_view');
     if ($result['page_view']) {
         $int_text = $txt;
         $s = array();
         $r = array();
         if ($int_files) {
             foreach ($int_files as $int_file) {
                 $url = WDCPREFIX . '/' . $int_file['path'] . $int_file['fname'];
                 $s[] = '<img id="' . $int_file['id'] . '">';
                 $r[] = "<img id=\"{$int_file['id']}\" src=\"{$url}\">";
             }
         }
         if (count($s) && count($r)) {
Example #5
0
             $tmp->server_root = true;
             $tmp->MoveUploadedFile('/docs/');
             $files_attache[] = $tmp;
             if ($tmp->error && !$tmp->id) {
                 $error_add_file = $tmp->error;
                 $error = true;
             }
         }
     }
 }
 if (count($_POST['attach_files_id']) > 0) {
     foreach ($_POST['attach_files_id'] as $key => $value) {
         $tmp = new CFile();
         $tmp->max_size = 10485760;
         $tmp->server_root = true;
         $tmp->GetInfoById($value);
         $files_attache[] = $tmp;
     }
 }
 switch ($_POST['action_form']) {
     case 'add':
         if (count($files_attache) == 0) {
             $error_add_file = 'Необходимо загрузить хотя бы один файл';
             $error = true;
         }
         if ($error !== false) {
             $docs = docs::getDocs();
             $sections = docs_sections::getSections();
         } else {
             $docs_id = docs::Add($_POST['name'], $_POST['desc'], intval($_POST['section']));
             if ($docs_id) {