677 lines
25 KiB
PHP
Executable File
677 lines
25 KiB
PHP
Executable File
<?php
|
|
|
|
if (!defined('sugarEntry') || !sugarEntry)
|
|
die('Not A Valid Entry Point');
|
|
|
|
/* * *******************************************************************************
|
|
* SugarCRM is a customer relationship management program developed by
|
|
* SugarCRM, Inc. Copyright (C) 2004-2010 SugarCRM Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it under
|
|
* the terms of the GNU Affero General Public License version 3 as published by the
|
|
* Free Software Foundation with the addition of the following permission added
|
|
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
|
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
|
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
* details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License along with
|
|
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
|
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
* 02110-1301 USA.
|
|
*
|
|
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
|
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
|
*
|
|
* The interactive user interfaces in modified source and object code versions
|
|
* of this program must display Appropriate Legal Notices, as required under
|
|
* Section 5 of the GNU Affero General Public License version 3.
|
|
*
|
|
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
|
|
* these Appropriate Legal Notices must retain the display of the "Powered by
|
|
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
|
* technical reasons, the Appropriate Legal Notices must display the words
|
|
*
|
|
* "Powered by SugarCRM".
|
|
* ****************************************************************************** */
|
|
|
|
require_once 'include/upload_file.php';
|
|
|
|
class EcmFkVatKind extends SugarBean {
|
|
|
|
/**
|
|
* Table name.
|
|
*
|
|
* @var stiring
|
|
*/
|
|
var $table_name = "ecmfkvatkinds";
|
|
|
|
/**
|
|
* Object name.
|
|
*
|
|
* @var stiring
|
|
*/
|
|
var $object_name = "EcmFkVatKind";
|
|
|
|
/**
|
|
* Additional column fields.
|
|
*
|
|
* @var stiring
|
|
*/
|
|
var $additional_column_fields = array();
|
|
|
|
/**
|
|
* Module directory.
|
|
*
|
|
* @var stiring
|
|
*/
|
|
var $module_dir = 'EcmFkVatKinds';
|
|
|
|
/**
|
|
* Relationship fields.
|
|
*
|
|
* @var stiring
|
|
*/
|
|
var $relationship_fields = array();
|
|
|
|
function EcmFkVatKind() {
|
|
parent::SugarBean();
|
|
$this->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 '<pre>' . var_export($this->ecmlanguage, true) . '</pre>';
|
|
// 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 <ext>_icon_inline, extension is stored in ecmfkvatkind_revisions.
|
|
//if file is not found then default image file will be used.
|
|
global $img_name;
|
|
global $img_name_bare;
|
|
if (!empty($row['file_ext'])) {
|
|
$img_name = SugarThemeKindistry::current()->getImageURL(strtolower($row['file_ext']) . "_image_inline.gif");
|
|
$img_name_bare = strtolower($row['file_ext']) . "_image_inline";
|
|
}
|
|
|
|
//set default file name.
|
|
if (!empty($img_name) && file_exists($img_name)) {
|
|
$img_name = $img_name_bare;
|
|
} else {
|
|
$img_name = "def_image_inline"; //todo change the default image.
|
|
}
|
|
if ($this->ACLAccess('DetailView')) {
|
|
$this->file_url = "<a href='index.php?entryPoint=download&id=" . basename(UploadFile :: get_url($this->filename, $this->ecmfkvatkind_revision_id)) . "&type=EcmFkVatKindisters' target='_blank'>" . SugarThemeRegistry::current()->getImage($img_name, 'alt="' . $mod_strings['LBL_LIST_VIEW_DOCUMENT'] . '" border="0"') . "</a>";
|
|
$this->file_url_noimage = basename(UploadFile :: get_url($this->filename, $this->ecmfkvatkind_revision_id));
|
|
} else {
|
|
$this->file_url = "";
|
|
$this->file_url_noimage = "";
|
|
}
|
|
|
|
//get last_rev_by user name.
|
|
$query = "SELECT first_name,last_name, ecmfkvatkind_revisions.date_entered as rev_date FROM users, document_revisions WHERE users.id = document_revisions.created_by and document_revisions.id = '$this->document_revision_id'";
|
|
$result = $this->db->query($query, true, "Eror fetching user name: ");
|
|
$row = $this->db->fetchByAssoc($result);
|
|
if (!empty($row)) {
|
|
$this->last_rev_created_name = $locale->getLocaleFormattedName($row['first_name'], $row['last_name']);
|
|
|
|
$this->last_rev_create_date = $timedate->to_display_date_time($row['rev_date']);
|
|
}
|
|
|
|
global $app_list_strings;
|
|
if (!empty($this->status_id)) {
|
|
//_pp($this->status_id);
|
|
$this->status = $app_list_strings['ecmfkvatkind_status_dom'][$this->status_id];
|
|
}
|
|
$this->related_doc_name = EcmFkVatKind::get_ecmfkvattable_name($this->related_doc_id);
|
|
$this->related_doc_rev_number = EcmFkVatKindRevision::get_ecmfkvattable_revision_name($this->related_doc_rev_id);
|
|
$this->save_file = basename($this->file_url_noimage);
|
|
|
|
jump:
|
|
}
|
|
|
|
function list_view_parse_additional_sections(& $list_form, $xTemplateSection) {
|
|
return $list_form;
|
|
}
|
|
|
|
function create_export_query(&$order_by, &$where, $relate_link_join = '') {
|
|
$custom_join = $this->custom_fields->getJOIN(true, true, $where);
|
|
if ($custom_join)
|
|
$custom_join['join'] .= $relate_link_join;
|
|
$query = "SELECT
|
|
ecmfkvatkinds.*";
|
|
if ($custom_join) {
|
|
$query .= $custom_join['select'];
|
|
}
|
|
$query .= " FROM ecmfkvatkinds ";
|
|
if ($custom_join) {
|
|
$query .= $custom_join['join'];
|
|
}
|
|
|
|
$where_auto = " ecmfkvatkinds.deleted = 0";
|
|
|
|
if ($where != "")
|
|
$query .= " WHERE $where AND " . $where_auto;
|
|
else
|
|
$query .= " WHERE " . $where_auto;
|
|
|
|
if ($order_by != "")
|
|
$query .= " ORDER BY $order_by";
|
|
else
|
|
$query .= " ORDER BY ecmfkvatkinds.document_name";
|
|
|
|
return $query;
|
|
}
|
|
|
|
/**
|
|
* getter method for ecmbanksymbolount record.
|
|
*/
|
|
function get_symbol_array($id, array $select = array()) {
|
|
global $db;
|
|
|
|
array_walk($select, function(&$value, $key) {
|
|
$value = 's.`' . $value . '`';
|
|
});
|
|
|
|
$selectStatement = implode(', ', $select);
|
|
|
|
$q = 'SELECT ' . (strlen($selectStatement) ? $selectStatement : 's.*') . ' FROM ecmsymbols AS s WHERE id = \'' . $id . '\' LIMIT 1;';
|
|
|
|
$r = $db->query($q);
|
|
$rr = $db->FetchByAssoc($r);
|
|
|
|
if ($rr) {
|
|
return $rr;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Concentrate get_symbol_array method.
|
|
*/
|
|
function get_symbol_symbol($id) {
|
|
static $symbols = array();
|
|
return $symbols[$id] ? : ($symbols[$id] = end($this->get_symbol_array($id, array('symbol'))));
|
|
}
|
|
|
|
/**
|
|
* getter method for ecmbankaccount record.
|
|
*/
|
|
function get_acc_array($id, array $select = array()) {
|
|
global $db;
|
|
|
|
array_walk($select, function(&$value, $key) {
|
|
$value = 'ba.`' . $value . '`';
|
|
});
|
|
|
|
$selectStatement = implode(', ', $select);
|
|
|
|
$q = 'SELECT ' . (strlen($selectStatement) ? $selectStatement : 'ba.*') . ' FROM ecmbankaccounts AS ba WHERE id = \'' . $id . '\' LIMIT 1;';
|
|
|
|
$r = $db->query($q);
|
|
$rr = $db->FetchByAssoc($r);
|
|
|
|
if ($rr) {
|
|
return $rr;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Concentrate get_acc_array method.
|
|
*/
|
|
function get_acc_code($id) {
|
|
static $codes = array();
|
|
return $codes[$id] ? : ($codes[$id] = end($this->get_acc_array($id, array('code'))));
|
|
}
|
|
|
|
function get_list_view_data() {
|
|
$this->fill_in_additional_detail_fields();
|
|
|
|
$ecmfkvatkind_fields = $this->get_list_view_array();
|
|
|
|
// $vatYear = DateTime::createFromFormat('d.m.Y', $this->date_document);
|
|
// $ecmfkvatkind_fields['YEAR'] = $vatYear ? $bookYear->format('Y') : false;
|
|
|
|
$ecmfkvatkind_fields['ACC_MA'] = $this->get_acc_code($ecmfkvattable_fields['ACC_MA']) ? : '000';
|
|
$ecmfkvatkind_fields['ACC_WN'] = $this->get_acc_code($ecmfkvattable_fields['ACC_WN']) ? : '000';
|
|
|
|
$ecmfkvatkind_fields['SYMBOL'] = $this->get_symbol_symbol($ecmfkvattable_fields['SYMBOL']) ? : '-';
|
|
|
|
$ecmfkvatkind_fields['IDENTIFIER'] = $ecmfkvattable_fields['IDENTIFIER'] ? : '-';
|
|
|
|
// dump($ecmfkvatkind_fields);
|
|
// exit;
|
|
// $ecmfkvatkind_fields['ACC_MA_CODE'] = '';
|
|
// $ecmfkvatkind_fields['ACC_MA_CODE'] = '';
|
|
// echo '<pre>' . var_export($this->field_defs, true) . '</pre>';
|
|
// echo '<pre>' . var_export($ecmfkvatkind_fields, true) . '</pre>';
|
|
// 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 : '[]';
|
|
}
|
|
|
|
} |