* @date $date$ * @version $Revision$ * @ingroup apps */ /** * $confirm bool false */ $confirm = false; /** * $etapes array Contains only one etap : form */ $etapes = array('form'); /** * $frm_width Width of the modal (empty) */ $frm_width=''; /** * $frm_height Height of the modal (empty) */ $frm_height = ''; /** * $mode_form Mode of the modal : fullscreen */ $mode_form = 'fullscreen'; include('apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.'definition_mail_categories.php'); require_once "modules" . DIRECTORY_SEPARATOR . "visa" . DIRECTORY_SEPARATOR . "class" . DIRECTORY_SEPARATOR . "class_modules_tools.php"; $_ENV['date_pattern'] = "/^[0-3][0-9]-[0-1][0-9]-[1-2][0-9][0-9][0-9]$/"; function writeLogIndex($EventInfo) { $logFileOpened = fopen($_SESSION['config']['logdir']."visa_mail.log", 'a'); fwrite($logFileOpened, '[' . date('d') . '/' . date('m') . '/' . date('Y') . ' ' . date('H') . ':' . date('i') . ':' . date('s') . '] ' . $EventInfo . "\r\n" ); fclose($logFileOpened); } function check_category($coll_id, $res_id) { require_once("core".DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_security.php"); $sec = new security(); $view = $sec->retrieve_view_from_coll_id($coll_id); $db = new Database(); $stmt = $db->query("SELECT category_id FROM ".$view." WHERE res_id = ?", array($res_id)); $res = $stmt->fetchObject(); if(!isset($res->category_id)) { $ind_coll = $sec->get_ind_collection($coll_id); $table_ext = $_SESSION['collections'][$ind_coll]['extensions'][0]; $db->query("INSERT INTO ".$table_ext." (res_id, category_id) VALUES (?, ?)", array($res_id, $_SESSION['coll_categories']['letterbox_coll']['default_category'])); } } function get_form_txt($values, $path_manage_action, $id_action, $table, $module, $coll_id, $mode ) { if (preg_match("/MSIE 6.0/", $_SERVER["HTTP_USER_AGENT"])) { $browser_ie = true; $display_value = 'block'; } elseif(preg_match('/msie/i', $_SERVER["HTTP_USER_AGENT"]) && !preg_match('/opera/i', $_SERVER["HTTP_USER_AGENT"]) ) { $browser_ie = true; $display_value = 'block'; } else { $browser_ie = false; $display_value = 'table-row'; } unset($_SESSION['m_admin']['contact']); $_SESSION['req'] = "action"; $res_id = $values[0]; $_SESSION['doc_id'] = $res_id; // Ouverture de la modal $docLockerCustomPath = 'apps/maarch_entreprise/actions/docLocker.php'; $docLockerPath = $_SESSION['config']['businessappurl'] . '/actions/docLocker.php'; if (is_file($docLockerCustomPath)) require_once $docLockerCustomPath; else if (is_file($docLockerPath)) require_once $docLockerPath; else exit("can't find docLocker.php"); $docLocker = new docLocker($res_id); if (!$docLocker->canOpen()) { $docLockerscriptError = ''; return $docLockerscriptError; } $frm_str = ''; require_once("core".DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_security.php"); require_once("apps".DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_business_app_tools.php"); require_once("modules".DIRECTORY_SEPARATOR."basket".DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_modules_tools.php"); require_once("apps".DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_types.php"); require_once("core".DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_request.php"); $sec =new security(); $core_tools =new core_tools(); $b = new basket(); $type = new types(); $business = new business_app_tools(); $visa = new visa(); /*check_category($coll_id, $res_id); $data = get_general_data($coll_id, $res_id, 'minimal');*/ /* echo '
';
    print_r($data);
    echo '
';exit; */ $db = new Database(); $view = $sec->retrieve_view_from_coll_id($coll_id); $stmt = $db->query("select alt_identifier, status from " . $view . " where res_id = ?", array($res_id)); $resChrono = $stmt->fetchObject(); $chrono_number = $resChrono->alt_identifier; $currentStatus = $resChrono->status; $frm_str .= '

'._VISA_MAIL.' '._NUM.''; if(_ID_TO_DISPAY == 'res_id'){ $frm_str .= $res_id; } else if (_ID_TO_DISPAY == 'chrono_number'){ $frm_str .= $chrono_number; } $frm_str .=''; $frm_str .= '

'; $frm_str .=''; $frm_str .=''; $frm_str .= '
'; $frm_str .= '
'; $tab_docs = $visa->getDocsBasket(); //$frm_str .= '
'.print_r($tab_docs,true).'
'; //$selectedCat = ''; $list_docs = ''; foreach($tab_docs as $num=>$res_id_doc){ $stmt = $db->query("select alt_identifier, status from " . $view . " where res_id = ?" , array($res_id_doc)); $resChrono_doc = $stmt->fetchObject(); $chrono_number_doc = $resChrono_doc->alt_identifier; $allAnsSigned = true; $stmt2 = $db->query("SELECT status from res_view_attachments where (attachment_type='response_project' OR attachment_type='outgoing_mail') and res_id_master = ?", array($res_id_doc)); while($line = $stmt2->fetchObject()){ if ($line->status == 'TRA' || $line->status == 'A_TRA' ){ $allAnsSigned = false; } } if ($allAnsSigned) $classSign = "visibility:visible;"; else $classSign = "visibility:hidden;"; $list_docs .= $res_id_doc."#"; if ($res_id_doc == $res_id){ $classLine = ' class="selectedId " '; } else $classLine = ' class="unselectedId " '; $id_to_display = _ID_TO_DISPAY; $frm_str .= '
'; check_category($coll_id, $res_id_doc); $data = get_general_data($coll_id, $res_id_doc, 'minimal'); if ($res_id_doc == $res_id){ $selectedCat = $data['category_id']['value']; $curNumDoc = $num; $curdest = $data['destination']; } $frm_str .= '
    '; $frm_str .= '
  • '; $frm_str .= '' . $chrono_number_doc . ' '/*. ' - ' .$res_id_doc*/; $frm_str .= '
  • '; $frm_str .= '
  • '; $frm_str .= ' '; if(isset($data['contact']) && !empty($data['contact'])) { if (strlen($data['contact']) > 25) $contact = substr($data['contact'],0,25).'...'; else $contact = $data['contact']; $frm_str .= $contact; } else { $frm_str .= _MULTI . '-' . _DEST; } $frm_str .= '
  • '; $frm_str .= '
  • '; $frm_str .= ' '; if(isset($data['subject']) && !empty($data['subject'])) { if (strlen($data['subject']) > 80) $subject = substr($data['subject'],0,80).'...'; else $subject = $data['subject']; $frm_str .= $subject; } $frm_str .= '
  • '; $frm_str .= '
  • '; $frm_str .= ' '; $frm_str .= $data['admission_date']; $frm_str .= ' '; $frm_str .= $data['process_limit_date']; $frm_str .= '
  • '; $frm_str .= '
'; $frm_str .= '
'; } $frm_str .= '
'; $frm_str .= '
'; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; //$frm_str .= ''; $frm_str .= ''; $frm_str .= '
'; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; //$frm_str .= ''; //$frm_str .= '
'; $frm_str .= '
'; $frm_str .= '
'; $frm_str .= '
'; $frm_str .= '
'; //Onglet document if ($selectedCat != 'outgoing'){ $frm_str .= '
'._INCOMING.'
'; $frm_str .= '
'; $frm_str .= ''; } //Onglet Circuit $frm_str .= '
'._VISA_WORKFLOW.'
'; $frm_str .= '

'._VISA_WORKFLOW.'

'; $modifVisaWorkflow = false; if ($core->test_service('config_visa_workflow', 'visa', false)) { $modifVisaWorkflow = true; } $frm_str .= '
'; $frm_str .= '
'; $frm_str .= $visa->getList($res_id, $coll_id, $modifVisaWorkflow, 'VISA_CIRCUIT', true); $frm_str .= '

'; /* Historique diffusion visa */ $frm_str .= '
'; $frm_str .= '
'; $frm_str .= ''; $frm_str .= '<<'; $frm_str .= ' '._DIFF_LIST_VISA_HISTORY.''; $frm_str .= ''; $frm_str .= ''; $frm_str .= '
'; //Onglet Avancement $frm_str .= '
Avancement
'; $frm_str .= '

'. _WF .'

'; $frm_str .= ''; $frm_str .= '
'; $frm_str .= '
'; $frm_str .= ''; $frm_str .= '<<'; $frm_str .= ' '. _ALL_HISTORY .''; $frm_str .= ''; $frm_str .= ''; $frm_str .= '
'; //Onglet notes if ($core->is_module_loaded('notes')){ require_once "modules" . DIRECTORY_SEPARATOR . "notes" . DIRECTORY_SEPARATOR . "class" . DIRECTORY_SEPARATOR . "class_modules_tools.php"; $notes_tools = new notes(); //Count notes $nbr_notes = $notes_tools->countUserNotes($res_id, $coll_id); if ($nbr_notes > 0 ) $nbr_notes = ' ('.$nbr_notes.')'; else $nbr_notes = ''; //Notes iframe $frm_str .= '
'. _NOTES.$nbr_notes .'

'. _NOTES .'

'; } $frm_str .= '
'; $frm_str .= '
'; $db = new Database(); $frm_str .= '
'; $frm_str .= '
'; $frm_str .= '
'; $tab_path_rep_file = $visa->get_rep_path($res_id, $coll_id); $cptAttach = count($tab_path_rep_file); if ($cptAttach < 6) { $viewMode = 'extended'; } elseif ($cptAttach < 10) { $viewMode = 'small'; } else { $viewMode = 'verysmall'; } for ($i=0; $i<$cptAttach;$i++) { $num_rep = $i+1; if ($viewMode == 'verysmall') { $titleRep = $i + 1; } elseif ($viewMode == 'small') { $titleRep = substr($tab_path_rep_file[$i]['title'],0,10); } else { if (strlen($tab_path_rep_file[$i]['title']) > 15) $titleRep = substr($tab_path_rep_file[$i]['title'],0,15) . '...'; else $titleRep = $tab_path_rep_file[$i]['title']; } if ($tab_path_rep_file[$i]['attachment_type'] == 'signed_response') { $titleRep = '' . $titleRep; } $frm_str .= '
'.$titleRep . '
'; $frm_str .= ''; $frm_str .= '
'; } $stmt = $db->query("SELECT res_id FROM " . $_SESSION['tablename']['attach_res_attachments'] . " WHERE status <> 'DEL' and attachment_type <> 'converted_pdf' and attachment_type <> 'print_folder' and res_id_master = ? and coll_id = ?", array($res_id, $coll_id)); if ($stmt->rowCount() > 0) { $nb_attach = " (".$stmt->rowCount().")"; } /*if ($viewMode == 'extended') { $frm_str .= '
'. _ATTACHED_DOC .$nb_attach . '
'; } else {*/ $frm_str .= '
PJ ' .$nb_attach . '
'; //} if ($core_tools->is_module_loaded('attachments')) { require 'modules/templates/class/templates_controler.php'; $templatesControler = new templates_controler(); $templates = array(); $templates = $templatesControler->getAllTemplatesForProcess($curdest); $_SESSION['destination_entity'] = $curdest; //var_dump($templates); $frm_str .= '
'; $frm_str .= '
'; $frm_str .= '
'; $frm_str .= '

' . _PJ . ', ' . _ATTACHEMENTS . '

'; $stmt = $db->query("select res_id from ".$_SESSION['tablename']['attach_res_attachments'] . " where (status = 'A_TRA' or status = 'TRA' or status = 'SIGN') and res_id_master = ? and coll_id = ?", array($res_id,$coll_id)); //$req->show(); $nb_attach = 0; if ($stmt->rowCount() > 0) { $nb_attach = $stmt->rowCount(); } $frm_str .= '
'; $frm_str .= '
'; if ($core_tools->is_module_loaded('templates')) { $frm_str .= ''; } $frm_str .= '
'; $frm_str .= '
'; $frm_str .= '
'; $frm_str .= '
'; $frm_str .= '
'; $frm_str .= '
'; } $frm_str .= '
'; $frm_str .= '
'; $frm_str .= '
'; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= '
'; $frm_str .= '
'; $frm_str .= 'Consigne  
'; $frm_str .= ''._ACTIONS.' : '; $actions = $b->get_actions_from_current_basket($res_id, $coll_id, 'PAGE_USE'); if(count($actions) > 0) { $frm_str .=' '; $table = $sec->retrieve_table_from_coll($coll_id); $frm_str .= ' '; } $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; $frm_str .= ''; //$frm_str .= ''; $frm_str .= '
'; $frm_str .= '
'; //if ($core->test_service('sign_document', 'visa', false) && $currentStatus == 'ESIG') { if ($core->test_service('sign_document', 'visa', false) ) { $color = ' style="float:left;" '; $img = ''; if ($tab_path_rep_file[0]['attachment_type'] == 'signed_response'){ $color = ' style="float:left;color:green;" '; $img = ''; } if ($_SESSION['modules_loaded']['visa']['showAppletSign'] == "true"){ $frm_str .= ''; } $frm_str .= ' '.$img.''; } $displayModif = ' style="float:right;" '; if ($tab_path_rep_file[0]['attachment_type'] == 'signed_response') $displayModif = ' style="float:right;display:none;" '; $frm_str .= ' '; $frm_str .= '
'; $frm_str .= '
'; $frm_str .= '
'; $frm_str .= '
'; $frm_str .= ''; $frm_str .= ''; $frm_str .= '
'; $frm_str .= ''; $frm_str .= ' '; $frm_str .= '
'; /*** Extra javascript ***/ $frm_str .= ''; return addslashes($frm_str); } /** * Checks the action form * * @param $form_id String Identifier of the form to check * @param $values Array Values of the form * @return Bool true if no error, false otherwise **/ function check_form($form_id,$values) { //writeLogIndex("GO check_form !!"); $_SESSION['action_error'] = ''; if(count($values) < 1 || empty($form_id)) { $_SESSION['action_error'] = _FORM_ERROR; return false; } else { return true; } } /** * Get the value of a given field in the values returned by the form * * @param $values Array Values of the form to check * @param $field String the field * @return String the value, false if the field is not found **/ function get_value_fields($values, $field) { for($i=0; $i 'process_date', 'value' => 'CURRENT_TIMESTAMP', 'type' => 'date', ) ); $where = 'res_id = ? and item_id = ? and difflist_type = ?'; $array_what[] = $res_id; $array_what[] = $_SESSION['user']['UserId']; $array_what[] = 'VISA_CIRCUIT'; $request = new request(); $table = 'listinstance'; $request->PDOupdate($table, $replaceValues, $where, $array_what, $_SESSION['config']['databasetype']); $circuit_visa = new visa(); if ($circuit_visa->allUserVised($res_id, $coll_id, 'VISA_CIRCUIT')){ $up_request = "UPDATE res_letterbox SET status='ESIG' WHERE res_id = $res_id"; $db = new Database(); $db->query("UPDATE res_letterbox SET status='ESIG' WHERE res_id = ?", array($res_id)); } }*/ return array('result' => $res_id.'#', 'history_msg' => ''); }