setupCustomFields('EcmFkVatKinds'); } function save($check_notify = false) { if (empty($this->id) || $this->new_with_id) { if (false) { //!empty($this->uploadfile)) $this->filename = $this->uploadfile; if (empty($this->id)) { $this->id = create_guid(); $this->new_with_id = true; } $Revision = new EcmFkVatKindRevision(); //save revision. $Revision->change_log = translate('DEF_CREATE_LOG', 'EcmFkVatKinds'); $Revision->revision = $this->revision; $Revision->ecmfkvatkind_id = $this->id; $Revision->filename = $this->filename; $Revision->file_ext = $this->file_ext; $Revision->file_mime_type = $this->file_mime_type; $Revision->save(); //Move file saved during populatefrompost to match the revision id rather than ecmfkvatkind id rename(UploadFile :: get_url($this->filename, $this->id), UploadFile :: get_url($this->filename, $Revision->id)); //update ecmfkvatkind with latest revision id $this->process_save_dates = false; //make sure that conversion does not happen again. $this->ecmfkvatkind_revision_id = $Revision->id; } //set relationship field values if contract_id is passed (via subpanel create) if (!empty($_POST['contract_id'])) { $save_revision['ecmfkvatkind_revision_id'] = $this->document_revision_id; $this->load_relationship('contracts'); $this->contracts->add($_POST['contract_id'], $save_revision); } if ((isset($_POST['load_signed_id']) and !empty($_POST['load_signed_id']))) { $query = "update linked_ecmfkvatkinds set deleted=1 where id='" . $_POST['load_signed_id'] . "'"; $this->db->query($query); } } $return_id = parent::save($check_notify); $this->savePositions($return_id); return $return_id; } function savePositions($id = null, $position_list = null) { global $current_user, $timedate; if ($position_list == null) $position_list = $this->position_list; if ($id == null) $id = $this->id; if (count($position_list) > 0) $this->deleteAssignedPositions($id); $arr = array(); $position = 0; // dump($position_list); // exit; for ($i = 0; $i < count($position_list); $i++) { $p = $position_list[$i]; // ~ $arr = array( 'id' => create_guid(), 'position' => $p['position'], 'deleted' => '0', 'date_entered' => date('Y-m-d'), // 'date_modified' => '', 'created_by' => 'd9c0007b-1247-5e82-31b6-4f168a01d290', // 'modified_user_id' => '', 'title' => $p['i_title'], 'col_1' => encodeDbData($p['i_col_1_decoded']), 'col_2' => encodeDbData($p['i_col_2_decoded']), 'col_1_translations' => encodeDbData($p['i_col_1_translations_decoded']), 'col_2_translations' => encodeDbData($p['i_col_2_translations_decoded']), 'ecmfkvatkind_id' => $id, 'order' => $p['i_order'], 'p' => $p['i_p'], ); // dump($p, $arr); // exit; $q = $this->constructInsertQuery($arr); // dump($q); // exit; $this->db->query($q); $position++; } return $position; } function constructInsertQuery($data, $table = '') { if ($table == '' && isset($this->object_name) && $this->object_name != '') { $table = strtolower($this->object_name) . "items"; } else return ""; $keys = array(); $values = array(); foreach ($data as $key => $value) { $keys[] = $key; if (is_array($value)) $values[] = $value[1] . str_replace("'", "\'", $value[0]) . $value[1]; else $values[] = "'" . str_replace("'", "\'", $value) . "'"; } $q = "insert into `$table` (`"; $q .= implode('`, `', $keys); $q .= "`) values ("; $q .= implode(", ", $values); $q .= ");"; return $q; } function deleteAssignedPositions() { if (isset($this->id) && $this->id != '') { //$query = "DELETE FROM `".strtolower($this->object_name)."itemsparams` WHERE `".strtolower($this->object_name)."_id`='".$this->id."'"; // $r = $this->db->query($query); $query = "DELETE FROM `" . strtolower($this->object_name) . "items` WHERE `" . strtolower($this->object_name) . "_id`='" . $this->id . "'"; // echo $query;exit; $r = $this->db->query($query); if ($r) return true; } return false; } function DrawMainPDF($pdf, $type) { global $mod_strings; // $a = decodeDbData('YToxNTp7czoxNToiRWNtSW5zaWRlT3JkZXJzIjtzOjI6ImU1IjtzOjk6IkVjbVF1b3RlcyI7czo3OiJzYWFzY3JtIjtzOjg6IkVjbVNhbGVzIjtzOjI6ImU1IjtzOjE3OiJFY21QdXJjaGFzZU9yZGVycyI7czoyOiJlNSI7czoxNjoiRWNtRGVsaXZlcnlOb3RlcyI7czoyOiJlNSI7czoxNDoiRWNtSW52b2ljZU91dHMiO3M6MjoiZTUiO3M6MTQ6IkVjbVJlY2VpcHRPdXRzIjtzOjI6ImU1IjtzOjE0OiJFY21TdG9ja0RvY0lucyI7czoyOiJlNSI7czoxNToiRWNtU3RvY2tEb2NPdXRzIjtzOjI6ImU1IjtzOjIwOiJFY21TdG9ja0RvY0luc2lkZUlucyI7czoyOiJlNSI7czoyMToiRWNtU3RvY2tEb2NJbnNpZGVPdXRzIjtzOjI6ImU1IjtzOjE2OiJFY21TdG9ja0RvY01vdmVzIjtzOjI6ImU1IjtzOjEyOiJFY21UZW1wbGF0ZXMiO3M6MjoiZTUiO3M6MTI6IkVjbURvY3VtZW50cyI7czoyOiJlNSI7czoxOToiRWNtU3RvY2tEb2NDb3JyZWN0cyI7czoyOiJlNSI7fQ=='); // $a['EcmFkVatKinds'] = 'e5'; // $this->template->template_files_defs = encodeDbData($a); // $this->template->save(); // @ db // YToxNTp7czoxNToiRWNtSW5zaWRlT3JkZXJzIjtzOjI6ImU1IjtzOjk6IkVjbVF1b3RlcyI7czo3OiJzYWFzY3JtIjtzOjg6IkVjbVNhbGVzIjtzOjI6ImU1IjtzOjE3OiJFY21QdXJjaGFzZU9yZGVycyI7czoyOiJlNSI7czoxNjoiRWNtRGVsaXZlcnlOb3RlcyI7czoyOiJlNSI7czoxNDoiRWNtSW52b2ljZU91dHMiO3M6MjoiZTUiO3M6MTQ6IkVjbVJlY2VpcHRPdXRzIjtzOjI6ImU1IjtzOjE0OiJFY21TdG9ja0RvY0lucyI7czoyOiJlNSI7czoxNToiRWNtU3RvY2tEb2NPdXRzIjtzOjI6ImU1IjtzOjIwOiJFY21TdG9ja0RvY0luc2lkZUlucyI7czoyOiJlNSI7czoyMToiRWNtU3RvY2tEb2NJbnNpZGVPdXRzIjtzOjI6ImU1IjtzOjE2OiJFY21TdG9ja0RvY01vdmVzIjtzOjI6ImU1IjtzOjEyOiJFY21UZW1wbGF0ZXMiO3M6MjoiZTUiO3M6MTI6IkVjbURvY3VtZW50cyI7czoyOiJlNSI7czoxOToiRWNtU3RvY2tEb2NDb3JyZWN0cyI7czoyOiJlNSI7fQ== // @ dump // YToxNTp7czoxNToiRWNtSW5zaWRlT3JkZXJzIjtzOjI6ImU1IjtzOjk6IkVjbVF1b3RlcyI7czo3OiJzYWFzY3JtIjtzOjg6IkVjbVNhbGVzIjtzOjI6ImU1IjtzOjE3OiJFY21QdXJjaGFzZU9yZGVycyI7czoyOiJlNSI7czoxNjoiRWNtRGVsaXZlcnlOb3RlcyI7czoyOiJlNSI7czoxNDoiRWNtSW52b2ljZU91dHMiO3M6MjoiZTUiO3M6MTQ6IkVjbVJlY2VpcHRPdXRzIjtzOjI6ImU1IjtzOjE0OiJFY21TdG9ja0RvY0lucyI7czoyOiJlNSI7czoxNToiRWNtU3RvY2tEb2NPdXRzIjtzOjI6ImU1IjtzOjIwOiJFY21TdG9ja0RvY0luc2lkZUlucyI7czoyOiJlNSI7czoyMToiRWNtU3RvY2tEb2NJbnNpZGVPdXRzIjtzOjI6ImU1IjtzOjE2OiJFY21TdG9ja0RvY01vdmVzIjtzOjI6ImU1IjtzOjEyOiJFY21UZW1wbGF0ZXMiO3M6MjoiZTUiO3M6MTI6IkVjbURvY3VtZW50cyI7czoyOiJlNSI7czoxOToiRWNtU3RvY2tEb2NDb3JyZWN0cyI7czoyOiJlNSI7fQ== // dump($this->template->template_files_defs); // dump(decodeDbData($this->template->template_files_defs)); // exit; // dump($a); // dump(encodeDbData($a)); // exit; // modules/EcmDocumentTemplates/templates/EcmFkVatKinds/e5/subheader.php // modules\EcmDocumentTemplates\templates\EcmFkVatKinds\e5\subheader.php // dump($this->template->getTemplateFile('subheader.php')); // dump($this->template->getTemplateFile('subfooter.php')); // exit; // $pdf->SetAutoPageBreak(false); $pdf->SetAutoPageBreak(true, $this->bMargin + $this->tMarign + 36); require_once($this->template->getTemplateFile('subheader.php')); require_once($this->template->getTemplateFile('subfooter.php')); return; } /** * Pdf getter. * * Retrieve pdf stream. */ function getPDF($id = null, $method = 'I', $name = null, $type = null) { global $sugar_config; // if ($id != null) { // $this->retrieve($id); // if ($this->id == '') // return; // } global $mod_strings; require_once('modules/EcmTexts/EcmText.php'); // echo '
' . var_export($this->ecmlanguage, true) . ''; // exit; // if (isset($this->ecmlanguage) && $this->ecmlanguage != '') { // $data = EcmText::LoadText(null, null, "EcmServices", $this->ecmlanguage); // if (isset($data[0]) && isset($data[0]['data']) && isset($data[0]['data']['labels'])) { // $data = $data[0]['data']['labels']; // foreach ($data as $key => $value) { // $mod_strings[$value['label']] = $value['translation']; // } // } // } $this->format_all_fields(); // dump(__LINE__); // exit; $this->setTemplate(); $type = $type ? : @$_REQUEST['type']; // if (isset($this->template->id) && $this->template->id != '') { // dump($this->template_id); // exit; // dump($this->template_id); // exit; // dump($this->toArray(), $this->orientation ? : 'P'); // exit; switch (strtolower($type)) { default: // $this->template->setPDF($this->template_id, array('P')); // $this->template->setPDF($this->template_id, array('L')); $this->template->setPDF($this->template_id, array( $this->orientation ? : 'P', )); break; } // dump(__LINE__); // exit; // dump($this->template); // exit; // $this->template->pdf->SetAutoPageBreak(true, 40); $this->DrawMainPDF($this->template->pdf, $type); $this->template->outputPDF(1, $method); // } } function setTemplate() { // if (!isset($this->template_id) || $this->template_id == '') // return null; // if (isset($this->template)) // return $this->template; require_once('modules/EcmDocumentTemplates/EcmDocumentTemplate.php'); $this->template = new EcmDocumentTemplate(); $this->template_id = "ef0c4dea-ddf3-de51-9d08-512257d4b675"; //$this->template->retrieve($this->template_id); $this->template->retrieve($this->template_id, true, false); if (isset($this->template->id) && $this->template->id != '') { $this->template->format_all_fields(); } else $this->template = null; // dump($this->template); // exit; return $this->template; } function get_summary_text() { return "$this->ecmfkvatkind_name"; } function is_authenticated() { return $this->authenticated; } function fill_in_additional_list_fields() { $this->fill_in_additional_detail_fields(); } function fill_in_additional_detail_fields() { // $vatYear = DateTime::createFromFormat('Y-m-d', $this->date_document); // $this->vat_year = $vatYear ? $bookYear->format('Y') : false; goto jump; global $theme; global $current_language; global $timedate; global $locale; parent::fill_in_additional_detail_fields(); $mod_strings = return_module_language($current_language, 'EcmFkVatKinds'); $query = "SELECT filename,revision,file_ext FROM ecmfkvatkind_revisions WHERE id='$this->document_revision_id'"; $result = $this->db->query($query); $row = $this->db->fetchByAssoc($result); //popuplate filename if (isset($row['filename'])) $this->filename = $row['filename']; //$this->latest_revision = $row['revision']; if (isset($row['revision'])) $this->revision = $row['revision']; //populate the file url. //image is selected based on the extension name
' . var_export($this->field_defs, true) . ''; // echo '
' . var_export($ecmfkvatkind_fields, true) . ''; // exit; return $ecmfkvatkind_fields; } function mark_drelationships_deleted($id) { //do nothing, this call is here to avoid default delete processing since //delete.php handles deletion of ecmfkvatkind revisions. } function bean_implements($interface) { switch ($interface) { case 'ACL' : return true; } return false; } //static function. function get_ecmfkvatkind_name($doc_id) { if (empty($doc_id)) return null; $db = DBManagerFactory::getInstance(); $query = "select ecmfkvatkind_name from documents where id='$doc_id'"; $result = $db->query($query); if (!empty($result)) { $row = $db->fetchByAssoc($result); if (!empty($row)) { return $row['ecmfkvatkind_name']; } } return null; } function getPosition($position, $stockOperations = false) { global $app_list_strings; if (!is_array($position)) return ''; $return_array = array(); $return_array['id'] = $position['id']; // $return_array['deleted'] = $position['deleted']; // $return_array['date_entered'] = $position['date_entered']; // $return_array['date_modified'] = $position['date_modified']; // $return_array['created_by'] = $position['created_by']; // $return_array['modified_user_id'] = $position['modified_user_id']; $return_array['i_deleted'] = $position['deleted']; $return_array['i_title'] = $position['title']; $return_array['i_col_1'] = $position['col_1']; $return_array['i_col_2'] = $position['col_2']; $return_array['i_col_1_translations'] = $position['col_1_translations']; $return_array['i_col_2_translations'] = $position['col_2_translations']; $return_array['i_p'] = $position['p']; $return_array['i_order'] = $position['order']; // $return_array['i_col_1_decoded'] = decodeDbData($return_array['i_col_1']); $return_array['i_col_2_decoded'] = decodeDbData($return_array['i_col_2']); // $return_array['i_col_1_translations_decoded'] = decodeDbData($return_array['i_col_1_translations']); $return_array['i_col_2_translations_decoded'] = decodeDbData($return_array['i_col_2_translations']); // $return_array['i_order_name'] = $app_list_strings['ecmfkvatkinds_order_dom'][$return_array['i_order']]; return $return_array; } function getPositionList($array = false) { if (isset($this->id) && $this->id != '') { $query = ' SELECT vki.* FROM `ecmfkvatkinditems` AS vki WHERE vki.`ecmfkvatkind_id` = \'' . $this->id . '\' order by vki.position asc ; '; // dump($query); // exit; $r = $this->db->query($query); $return_array = array(); if ($r) { while ($w = $this->db->fetchByAssoc($r)) { $return_array [] = $this->getPosition($w, $stockOperations); } $json = getJSONobj(); return $array ? $return_array : $json->encode($return_array); } } return $array ? false : '[]'; } }