fill_operating_values(); $query = 'SELECT * FROM operating_values WHERE name = "firmInfo" AND module_name="EcmSysInfos"'; $return = $this->db->query($query); $this->setBanks(); $this->setAdress(); $this->setContactInfo(); while ($row = $this->db->fetchByAssoc($return)) { switch ($row['value0']) { case 'short_name': $this->short_name = $row['value9']; $this->short_name_id = $row['id']; break; case 'smsApi': $this->smsApi_id = $row['id']; break; case 'name': $this->name = $row['value9']; $this->name_id = $row['id']; break; case 'InvoiceNumberFormat': $this->invoice_number_format = $row['value9']; $this->invoice_number_format_id = $row['id']; break; case 'Regon': $this->regon = $row['value9']; $this->regon_id = $row['id']; break; case 'Nip': $this->nip = $row['value9']; $this->nip_id = $row['id']; break; case 'WWW': $this->www = $row['value9']; $this->www_id = $row['id']; break; case 'Krs': $this->krs = $row['value9']; $this->krs_id = $row['id']; break; case 'RegisterAdress': $this->register_adress = array(); $this->register_adress['ID'] = $row['id']; $this->register_adress['STREET'] = $row['value1']; $this->register_adress['LOCAL'] = $row['value2']; $this->register_adress['HOME'] = $row['value3']; $this->register_adress['CITY'] = $row['value4']; $this->register_adress['POSTALCODE'] = $row['value5']; $this->register_adress['MAIL'] = $row['value6']; $this->register_adress['COMMUNITY'] = $row['value7']; $this->register_adress['DISTRICT'] = $row['value8']; $this->register_adress['STATE'] = $row['value9']; $this->register_adress['COUNTRY'] = $row['text0']; break; case 'CorrespondenceAdress': $this->correspondence_adress = array(); $this->correspondence_adress['ID'] = $row['id']; $this->correspondence_adress['STREET'] = $row['value1']; $this->correspondence_adress['LOCAL'] = $row['value2']; $this->correspondence_adress['HOME'] = $row['value3']; $this->correspondence_adress['CITY'] = $row['value4']; $this->correspondence_adress['POSTALCODE'] = $row['value5']; $this->correspondence_adress['MAIL'] = $row['value6']; $this->correspondence_adress['COMMUNITY'] = $row['value7']; $this->correspondence_adress['DISTRICT'] = $row['value8']; $this->correspondence_adress['STATE'] = $row['value9']; $this->correspondence_adress['COUNTRY'] = $row['text0']; break; default: break; } } } function getDatabaseName(){ global $sugar_config,$current_user; $link = mysql_connect($sugar_config['dbconfig']['db_host_name'],$sugar_config['dbconfig']['db_user_name'],$sugar_config['dbconfig']['db_password']); mysql_select_db($sugar_config['dbconfig']['db_name'],$link); $d=mysql_query("select dbasename from users where id='".$current_user->id."'",$link); $dbase=mysql_fetch_array($d); return $dbase['dbasename']; } function fill_operating_values(){ //Sprawdzamy numeracje $query = "SELECT value0 FROM operating_values WHERE name ='InvoiceNumberFormat'"; $return = $this->db->query($query); $insertData = [ ['name' => 'InvoiceNumberFormat','value0' =>''], ['name' => 'InvoiceNumberFormat','value0' =>'{n}/{Y}'], ['name' => 'InvoiceNumberFormat','value0' =>'{n}/{y}'], ['name' => 'InvoiceNumberFormat','value0' =>'{n}/{U}/{Y}'], ['name' => 'InvoiceNumberFormat','value0' =>'{n}/{m}/{y}'], ['name' => 'InvoiceNumberFormat','value0' =>'Nistandardowe'], ]; $returnData = array(); while ($row = $this->db->fetchByAssoc($return)) { $returnData[$row['value0']] = true; } foreach($insertData as $key => $value){ if($returnData[$value['value0']] != true){ $keys = array_keys($value); $values = array_values($value); $insertQuery = "INSERT INTO operating_values (" . implode(",",$keys) . ") VALUES ('" . implode("','",$values) . "');"; $this->db->query($insertQuery); } } //Nagłówki //Pobieram podstawową numerację $query = "SELECT id FROM operating_values WHERE name ='InvoiceNumberFormat' AND value0='{n}/{Y}'"; $return = $this->db->query($query); $row = $this->db->fetchByAssoc($return); $numerId = $row['id']; //Sprawdzamy dla jezyka polskiego $query = "SELECT value0 FROM operating_values WHERE name ='headersDocuments' AND value4='pl_pl'"; $return = $this->db->query($query); $insertData = [ ['name' => 'headersDocuments', 'value0' => 'Faktura', 'value1' =>$numerId, 'value2' => 'EcmInvoiceOuts', 'value3' => '01', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Paragon', 'value1' =>$numerId, 'value2' => 'EcmReceipts', 'value3' => '02', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Faktura z paragonu', 'value1' =>$numerId, 'value2' => 'EcmReceiptsToInvoiceOuts', 'value3' => '03', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Oferta', 'value1' =>$numerId, 'value2' => 'EcmQuotes', 'value3' => '04', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Zamówienie sprzedaży', 'value1' =>$numerId, 'value2' => 'EcmSales', 'value3' => '05', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Zamówienie zakupu', 'value1' =>$numerId, 'value2' => 'EcmPurchaseOrders', 'value3' => '06', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'KS', 'value1' =>$numerId, 'value2' => 'EcmStockDocCorrects', 'value3' => '07', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'PZ', 'value1' =>$numerId, 'value2' => 'EcmStockDocIns', 'value3' => '08', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'WZ', 'value1' =>$numerId, 'value2' => 'EcmStockDocOuts', 'value3' => '09', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'PW', 'value1' =>$numerId, 'value2' => 'EcmStockDocInsideIns', 'value3' => '10', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'MM', 'value1' =>$numerId, 'value2' => 'EcmStockDocMoves', 'value3' => '11', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'RW', 'value1' =>$numerId, 'value2' => 'EcmStockDocInsideOuts', 'value3' => '12', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'KP', 'value1' =>$numerId, 'value2' => 'EcmNewKpkwsReceived', 'value3' => '13', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'KW', 'value1' =>$numerId, 'value2' => 'EcmNewKpkwsGave', 'value3' => '14', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Faktury zaliczkowe', 'value1' =>$numerId, 'value2' => 'EcmPrepaymentInvoices', 'value3' => '15', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Umowy', 'value1' =>$numerId, 'value2' => 'EcmAgreements', 'value3' => '16', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Zlecenie serwisowe', 'value1' =>$numerId, 'value2' => 'EcmServiceNews', 'value3' => '17', 'value4' => 'pl_pl', 'module_name' => 'EcmSysInfos'], ]; $returnData = array(); while ($row = $this->db->fetchByAssoc($return)) { $returnData[$row['value0']] = true; } foreach($insertData as $key => $value){ if($returnData[$value['value0']] != true){ $keys = array_keys($value); $values = array_values($value); $insertQuery = "INSERT INTO operating_values (" . implode(",",$keys) . ") VALUES ('" . implode("','",$values) . "');"; $this->db->query($insertQuery); } } //Sprawdzamy dla jezyka angielskiego $query = "SELECT value0 FROM operating_values WHERE name ='headersDocuments' AND value4='en_us'"; $return = $this->db->query($query); $insertData = [ ['name' => 'headersDocuments', 'value0' => 'Faktura', 'value1' =>$numerId, 'value2' => 'EcmInvoiceOuts', 'value3' => '01', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Paragon', 'value1' =>$numerId, 'value2' => 'EcmReceipts', 'value3' => '02', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Faktura z paragonu', 'value1' =>$numerId, 'value2' => 'EcmReceiptsToInvoiceOuts', 'value3' => '03', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Oferta', 'value1' =>$numerId, 'value2' => 'EcmQuotes', 'value3' => '04', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Zamówienie sprzedaży', 'value1' =>$numerId, 'value2' => 'EcmSales', 'value3' => '05', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Zamówienie zakupu', 'value1' =>$numerId, 'value2' => 'EcmPurchaseOrders', 'value3' => '06', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'KS', 'value1' =>$numerId, 'value2' => 'EcmStockDocCorrects', 'value3' => '07', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'PZ', 'value1' =>$numerId, 'value2' => 'EcmStockDocIns', 'value3' => '08', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'WZ', 'value1' =>$numerId, 'value2' => 'EcmStockDocOuts', 'value3' => '09', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'PW', 'value1' =>$numerId, 'value2' => 'EcmStockDocInsideIns', 'value3' => '10', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'MM', 'value1' =>$numerId, 'value2' => 'EcmStockDocMoves', 'value3' => '11', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'RW', 'value1' =>$numerId, 'value2' => 'EcmStockDocInsideOuts', 'value3' => '12', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'KP', 'value1' =>$numerId, 'value2' => 'EcmNewKpkwsReceived', 'value3' => '13', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'KW', 'value1' =>$numerId, 'value2' => 'EcmNewKpkwsGave', 'value3' => '14', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Faktury zaliczkowe', 'value1' =>$numerId, 'value2' => 'EcmPrepaymentInvoices', 'value3' => '15', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Umowy', 'value1' =>$numerId, 'value2' => 'EcmAgreements', 'value3' => '16', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ['name' => 'headersDocuments', 'value0' => 'Zlecenie serwisowe', 'value1' =>$numerId, 'value2' => 'EcmServiceNews', 'value3' => '17', 'value4' => 'en_us', 'module_name' => 'EcmSysInfos'], ]; $returnData = array(); while ($row = $this->db->fetchByAssoc($return)) { $returnData[$row['value0']] = true; } foreach($insertData as $key => $value){ if($returnData[$value['value0']] != true){ $keys = array_keys($value); $values = array_values($value); $insertQuery = "INSERT INTO operating_values (" . implode(",",$keys) . ") VALUES ('" . implode("','",$values) . "');"; $this->db->query($insertQuery); } } //Autonumeracja $query = "SELECT name FROM operating_values WHERE value2 ='Auto_increment'"; $return = $this->db->query($query); $insertData = [ ['name' => 'ecmproductsCodeIncrement', 'value0' => '0','value2'=>'Auto_increment', 'module_name' => 'EcmProducts'], ['name' => 'PartNumber', 'value0' => '0', 'value2' => 'Auto_increment', 'module_name' => 'EcmProducts'], ]; while ($row = $this->db->fetchByAssoc($return)) { $returnData[$row['name']] = true; } foreach($insertData as $key => $value){ if($returnData[$value['name']] != true){ $keys = array_keys($value); $values = array_values($value); $insertQuery = "INSERT INTO operating_values (" . implode(",",$keys) . ") VALUES ('" . implode("','",$values) . "');"; $this->db->query($insertQuery); } } } function bean_implements($interface) { switch ($interface) { case 'ACL': return true; } return false; } function getNotificationSettings(){ $db=$GLOBALS['db']; $query="select * from operating_values where value0='smsApi'"; $res=$db->query($query); return $db->fetchByAssoc($res); } function saveNotificationSettings(){ $query = ''; if ($this->smsApi_id == null) { $query = 'INSERT INTO operating_values (name,value0,value1,value2,value3,value4,value5,value6,value7,value8,value9,module_name) VALUES ("firmInfo","smsApi","' . $_POST['api_login'] . '","' . $_POST['api_password'] . '","' . $_POST['api_from'] . '","' . $_POST['prevent_first'] . '","' . $_POST['prevent_second'] . '","' . $_POST['debt_first'] . '","' . $_POST['debt_other'] . '","' . $_POST['send_sms'] . '","' . $_POST['send_email'] . '","EcmSysInfos")'; } else { $query = 'UPDATE operating_values SET value1="' . $_POST['api_login'] . '",value2="' . $_POST['api_password'] . '",value3="' . $_POST['api_from'] . '",value4="' . $_POST['prevent_first'] . '",value5="' . $_POST['prevent_second'] . '",value6="' . $_POST['debt_first'] . '",value7="' . $_POST['debt_other'] . '",value8="' . $_POST['send_sms'] . '",value9="' . $_POST['send_email'] . '" where id="' . $this->smsApi_id . '"'; } $this->db->query($query); } function saveShortName($short_name) { $this->short_name = trim($short_name); $query = ''; if ($this->short_name_id == null) { $query = 'INSERT INTO operating_values (name,value0,value9,module_name) VALUES ("firmInfo","short_name","' . $this->short_name . '", "EcmSysInfos")'; } else { $query = 'UPDATE operating_values SET value9="' . $this->short_name . '" where id="' . $this->short_name_id . '"'; } $this->db->query($query); } function saveKrs($krs) { $this->krs = trim($krs); $query = ''; if ($this->krs_id == null) { $query = 'INSERT INTO operating_values (name,value0,value9,module_name) VALUES ("firmInfo","Krs","' . $this->krs . '", "EcmSysInfos")'; } else { $query = 'UPDATE operating_values SET value9="' . $this->krs . '" where id="' . $this->krs_id . '"'; } $this->db->query($query); } function saveName($name) { $this->name = trim($name); $query = ''; if ($this->name_id == null) { $query = 'INSERT INTO operating_values (name,value0,value9,module_name) VALUES ("firmInfo","name","' . $this->name . '", "EcmSysInfos")'; } else { $query = 'UPDATE operating_values SET value9="' . $this->name . '" where id="' . $this->name_id . '"'; } $this->db->query($query); } function saveInvoiceNumberFormat($invoice_number_format) { $this->invoice_number_format = trim($invoice_number_format); $query = ''; if ($this->invoice_number_format_id == null) { $query = 'INSERT INTO operating_values (name,value0,value9,module_name) VALUES ("firmInfo","InvoiceNumberFormat","' . $this->invoice_number_format . '", "EcmSysInfos")'; } else { $query = 'UPDATE operating_values SET value9="' . $this->invoice_number_format . '" where id="' . $this->invoice_number_format_id . '"'; } $this->db->query($query); } function saveNip($nip) { $this->nip = trim($nip); $query = ''; if ($this->nip_id == null) { $query = 'INSERT INTO operating_values (name,value0,value9,module_name) VALUES ("firmInfo","Nip","' . $this->nip . '", "EcmSysInfos")'; } else { $query = 'UPDATE operating_values SET value9="' . $this->nip . '" where id="' . $this->nip_id . '"'; } $this->db->query($query); } function saveFile(){ try { // Undefined | Multiple Files | $_FILES Corruption Attack // If this request falls under any of them, treat it invalid. if ( !isset($_FILES['upfile']['error']) || is_array($_FILES['upfile']['error']) ) { throw new RuntimeException('Invalid parameters.'); } // Check $_FILES['upfile']['error'] value. switch ($_FILES['upfile']['error']) { case UPLOAD_ERR_OK: break; case UPLOAD_ERR_NO_FILE: throw new RuntimeException(''); case UPLOAD_ERR_INI_SIZE: case UPLOAD_ERR_FORM_SIZE: throw new RuntimeException('Exceeded filesize limit.'); default: throw new RuntimeException('Unknown errors.'); } // You should also check filesize here. if ($_FILES['upfile']['size'] > 1000000) { throw new RuntimeException('Exceeded filesize limit.'); } // DO NOT TRUST $_FILES['upfile']['mime'] VALUE !! // Check MIME Type by yourself. $finfo = new finfo(FILEINFO_MIME_TYPE); if (false === $ext = array_search( $finfo->file($_FILES['upfile']['tmp_name']), array( 'jpg' => 'image/jpeg', 'png' => 'image/png', 'gif' => 'image/gif', ), true )) { throw new RuntimeException('Invalid file format.'); } // You should name it uniquely. // DO NOT USE $_FILES['upfile']['name'] WITHOUT ANY VALIDATION !! // On this example, obtain safe unique name from its binary data. $name= create_guid(); if (!move_uploaded_file( $_FILES['upfile']['tmp_name'], sprintf('upload/%s.%s', $name, $ext ) )) { throw new RuntimeException('Failed to move uploaded file.'); } else { $query="update operating_values set value7='".$name.'.'.$ext."' where id=19"; $this->db->query($query); } } catch (RuntimeException $e) { echo $e->getMessage(); } } function getLogo(){ $z=$this->db->query('select value7 from operating_values where id=19'); $bb=$this->db->fetchByAssoc($z); return $bb['value7']; } function saveBanks($banks) { $arrayin = array(); foreach ($banks as $key => $value) { if (!isset($value['ID']) || $value['ID'] == '') { $query = 'INSERT INTO operating_values (name,value0,value3,value2,value4,value5, value7,value8,value9,module_name) VALUES ("firmInfo","bankAccount","' . $value['CURRENCY'] . '","' . $value['NAMESHORT'] . '","' . $value['SWIFT'] . '","' . trim($value['IBAN']) . '","' . trim($value['POSITION']) . '","' . trim($value['NAME']) . '","' . trim($value['NUMBER']) . '", "EcmSysInfos")'; $this->db->query($query); $query = 'SELECT id FROM operating_values WHERE name="firmInfo" AND value0="bankAccount" AND module_name = "EcmSysInfos" AND '; $query .= '" AND value9 = "' . trim($value['NUMBER']); $query .= '" AND value8 = "' . trim($value['NAME']); $query .= '" AND value3 = "' . trim($value['CURRENCY']); $query .= '" AND value4 = "' . trim($value['SWIFT']); $query .= '" AND value5 = "' . trim($value['IBAN']); $query .= '" AND value2 = "' . trim($value['NAMESHORT']); $query .= '" AND value7 = "' . $value['POSITION'] . '"'; $return = $this->db->query($query); $row = $this->db->fetchByAssoc($return); $arrayin[] = $row['id']; } else { $query = 'UPDATE operating_values SET value7 = "' . $value['POSITION'] . '",value2 = "' . $value['NAMESHORT'] . '", value8 = "' . trim($value['NAME']) . '", value9 = "' . trim($value['NUMBER']) . '" , value3 = "' . trim($value['CURRENCY']) . '" , value4 = "' . trim($value['SWIFT']) . '" , value5 = "' . trim($value['IBAN']) . '" where id="' . $value['ID'] . '"'; $this->db->query($query); $arrayin[] = $value['ID']; } } $stringIn = '('; //delete old adress if (count($arrayin) > 0) { foreach ($arrayin as $key => $value) { if ($key == 0) { $stringIn .=$value; } else { $stringIn .= ',' . $value; } } $stringIn .= ')'; $query = 'DELETE FROM operating_values WHERE id NOT IN ' . $stringIn . ' AND name="firmInfo" AND value0="bankAccount" AND module_name = "EcmSysInfos"'; $this->db->query($query); } $this->setBanks(); } function saveRegon($regon) { $this->regon = trim($regon); $query = ''; if ($this->regon_id == null) { $query = 'INSERT INTO operating_values (name,value0,value9,module_name) VALUES ("firmInfo","Regon","' . $this->regon . '", "EcmSysInfos")'; } else { $query = 'UPDATE operating_values SET value9="' . $this->regon . '" where id="' . $this->regon_id . '"'; } $this->db->query($query); } function saveAdress($adress) { $arrayin = array(); foreach ($adress as $key => $value) { if (!isset($value['ID']) || $value['ID'] == '') { $query = 'INSERT INTO operating_values (name,value0,module_name,value2,value3,value4,value5,value6,value7) '; $query .= 'VALUES ("firmInfo","Adress", "EcmSysInfos","'; $query .= $value['POSITION'] . '","'; // value2 $query .= trim($value['NAME']) . '","'; $query .= trim($value['STREET']) . '","'; $query .= trim($value['CITY']) . '","'; $query .= trim($value['POSTALCODE']) . '","'; $query .= trim($value['COUNTRY']) . '"'; $query .= ')'; $this->db->query($query); $query = 'SELECT id FROM operating_values WHERE name="firmInfo" AND value0="Adress" AND module_name = "EcmSysInfos" AND '; $query .= ' value2 = "' . $value['POSITION']; $query .= '" AND value3 = "' . trim($value['NAME']); $query .= '" AND value4 = "' . trim($value['STREET']); $query .= '" AND value5 = "' . trim($value['CITY']); $query .= '" AND value6 = "' . trim($value['POSTALCODE']); $query .= '" AND value7 = "' . trim($value['COUNTRY']) . '"'; $return = $this->db->query($query); $row = $this->db->fetchByAssoc($return); $arrayin[] = $row['id']; } else { $query = 'UPDATE operating_values SET '; $query .= ' value2 = "' . $value['POSITION']; $query .= '", value3 = "' . trim($value['NAME']); $query .= '", value4 = "' . trim($value['STREET']); $query .= '", value5 = "' . trim($value['CITY']); $query .= '", value6 = "' . trim($value['POSTALCODE']); $query .= '", value7 = "' . trim($value['COUNTRY']); $query .= '" WHERE id="' . $value['ID'] . '"'; $this->db->query($query); $arrayin[] = $value['ID']; } } $stringIn = '('; //delete old adress if (count($arrayin) > 0) { foreach ($arrayin as $key => $value) { if ($key == 0) { $stringIn .=$value; } else { $stringIn .= ',' . $value; } } $stringIn .= ')'; $query = 'DELETE FROM operating_values WHERE id NOT IN ' . $stringIn . ' AND name="firmInfo" AND value0="Adress" AND module_name = "EcmSysInfos"'; $this->db->query($query); } $this->setAdress(); } function saveWWW($www) { $this->www = trim($www); $query = ''; if ($this->www_id == null) { $query = 'INSERT INTO operating_values (name,value0,value9,module_name) VALUES ("firmInfo","WWW","' . $this->www . '", "EcmSysInfos")'; } else { $query = 'UPDATE operating_values SET value9="' . $this->www . '" where id="' . $this->www_id . '"'; } $this->db->query($query); } function saveRegisterAdress($register_adress) { $this->register_adress = $register_adress; $query = ''; if ($this->register_adress['ID'] == null || $this->register_adress['ID'] == '') { $query = 'INSERT INTO operating_values (name,module_name,value0,value1,value2,value3,value4,value5,value6,value7,value8,value9,text0) ' . ' VALUES ("firmInfo","EcmSysInfos","RegisterAdress",' . '"' . trim($this->register_adress['STREET']) . '",' . '"' . trim($this->register_adress['LOCAL']) . '",' . '"' . trim($this->register_adress['HOME']) . '",' . '"' . trim($this->register_adress['CITY']) . '",' . '"' . trim($this->register_adress['POSTALCODE']) . '",' . '"' . trim($this->register_adress['MAIL']) . '",' . '"' . trim($this->register_adress['COMMUNITY']) . '",' . '"' . trim($this->register_adress['DISTRICT']) . '",' . '"' . trim($this->register_adress['STATE']) . '",' . '"' . trim($this->register_adress['COUNTRY']) . '"' . ')'; } else { $query = 'UPDATE operating_values SET ' . 'value1="' . trim($this->register_adress['STREET']) . '"' . ',value2="' . trim($this->register_adress['LOCAL']) . '"' . ',value3="' . trim($this->register_adress['HOME']) . '"' . ',value4="' . trim($this->register_adress['CITY']) . '"' . ',value5="' . trim($this->register_adress['POSTALCODE']) . '"' . ',value6="' . trim($this->register_adress['MAIL']) . '"' . ',value7="' . trim($this->register_adress['COMMUNITY']) . '"' . ',value8="' . trim($this->register_adress['DISTRICT']) . '"' . ',value9="' . trim($this->register_adress['STATE']) . '"' . ',text0="' . trim($this->register_adress['COUNTRY']) . '"' . ' WHERE id="' . $this->register_adress['ID'] . '"'; } $this->db->query($query); } function saveCorrespondenceAdress($correspondence_adress) { $this->correspondence_adress = $correspondence_adress; $query = ''; if ($this->correspondence_adress['ID'] == null || $this->correspondence_adress['ID'] == '') { $query = 'INSERT INTO operating_values (name,module_name,value0,value1,value2,value3,value4,value5,value6,value7,value8,value9,text0) ' . ' VALUES ("firmInfo","EcmSysInfos","CorrespondenceAdress",' . '"' . trim($this->correspondence_adress['STREET']) . '",' . '"' . trim($this->correspondence_adress['LOCAL']) . '",' . '"' . trim($this->correspondence_adress['HOME']) . '",' . '"' . trim($this->correspondence_adress['CITY']) . '",' . '"' . trim($this->correspondence_adress['POSTALCODE']) . '",' . '"' . trim($this->correspondence_adress['MAIL']) . '",' . '"' . trim($this->correspondence_adress['COMMUNITY']) . '",' . '"' . trim($this->correspondence_adress['DISTRICT']) . '",' . '"' . trim($this->correspondence_adress['STATE']) . '",' . '"' . trim($this->correspondence_adress['COUNTRY']) . '"' . ')'; } else { $query = 'UPDATE operating_values SET ' . 'value1="' . trim($this->correspondence_adress['STREET']) . '"' . ',value2="' . trim($this->correspondence_adress['LOCAL']) . '"' . ',value3="' . trim($this->correspondence_adress['HOME']) . '"' . ',value4="' . trim($this->correspondence_adress['CITY']) . '"' . ',value5="' . trim($this->correspondence_adress['POSTALCODE']) . '"' . ',value6="' . trim($this->correspondence_adress['MAIL']) . '"' . ',value7="' . trim($this->correspondence_adress['COMMUNITY']) . '"' . ',value8="' . trim($this->correspondence_adress['DISTRICT']) . '"' . ',value9="' . trim($this->correspondence_adress['STATE']) . '"' . ',text0="' . trim($this->correspondence_adress['COUNTRY']) . '"' . ' WHERE id="' . $this->correspondence_adress['ID'] . '"'; } $this->db->query($query); } function saveEmailSettings() { $query = 'UPDATE operating_values SET value1 = "' . $_POST['email_hostPort'] . '", value2 = "' .$_POST['email_login'] . '", value3 = "' . $this->encrypt($_POST['email_password'],$_POST['email_login']) . '", value4 = "' .$_POST['email_address'] . '", value5 = "' .$_POST['autentication_type'] . '", value6="'.$_POST['email_address_replay'].'" where id="18"'; $this->db->query($query); require_once 'include/ECM/EcmSendPdfButton/EcmSendPdfButton.inc'; $t = new EcmSendPdfButton('Users', '','',''); $t->setAdress('outtervision@gmail.com'); // $t->setAdress('slawomir.chojnicki@gmail.com'); $t->setSubject('test'); $t->setBody('asdasd'); $success = false; $success= $t->sendEmail(); if($success==1){ return 1; } else { $query = 'UPDATE operating_values SET value1 = "", value2 = "", value3 = "" where id="18"'; // $this->db->query($query); return 0; } } function getEmailSettings(){ $query="select value1,value2,value3,value4,value5,value6 from operating_values where id=18"; $zap=$this->db->query($query); $b=$this->db->fetchByAssoc($zap); $b['value3']=$this->decrypt( $b['value3'], $b['value2']); return $b; } public function encrypt($data, $secret) { //Generate a key from a hash $key = md5(utf8_encode($secret), true); //Take first 8 bytes of $key and append them to the end of $key. $key .= substr($key, 0, 8); //Pad for PKCS7 $blockSize = mcrypt_get_block_size('tripledes', 'ecb'); $len = strlen($data); $pad = $blockSize - ($len % $blockSize); $data .= str_repeat(chr($pad), $pad); //Encrypt data $encData = mcrypt_encrypt('tripledes', $key, $data, 'ecb'); return base64_encode($encData); } public function decrypt($data, $secret) { //Generate a key from a hash $key = md5(utf8_encode($secret), true); //Take first 8 bytes of $key and append them to the end of $key. $key .= substr($key, 0, 8); $data = base64_decode($data); $data = mcrypt_decrypt('tripledes', $key, $data, 'ecb'); $block = mcrypt_get_block_size('tripledes', 'ecb'); $len = strlen($data); $pad = ord($data[$len-1]); return substr($data, 0, strlen($data) - $pad); } function saveContactInfo($contact) { $arrayin = array(); foreach ($contact as $key => $value) { if (!isset($value['ID']) || $value['ID'] == '') { $query = 'INSERT INTO operating_values (name,value0,value7,value8,value9,module_name) VALUES ("firmInfo","ContactInfo","' . $value['POSITION'] . '","' . trim($value['NAME']) . '","' . trim($value['VALUE']) . '", "EcmSysInfos")'; $this->db->query($query); $query = 'SELECT id FROM operating_values WHERE name="firmInfo" AND value0="ContactInfo" AND module_name = "EcmSysInfos" AND '; $query .= '" AND value9 = "' . trim($value['VALUE']); $query .= '" AND value8 = "' . trim($value['NAME']); $query .= '" AND value7 = "' . $value['POSITION'] . '"'; $return = $this->db->query($query); $row = $this->db->fetchByAssoc($return); $arrayin[] = $row['id']; } else { $query = 'UPDATE operating_values SET value7 = "' . $value['POSITION'] . '", value8 = "' . trim($value['NAME']) . '", value9 = "' . trim($value['VALUE']) . '" where id="' . $value['ID'] . '"'; $this->db->query($query); $arrayin[] = $value['ID']; } } $stringIn = '('; //delete old adress if (count($arrayin) > 0) { foreach ($arrayin as $key => $value) { if ($key == 0) { $stringIn .=$value; } else { $stringIn .= ',' . $value; } } $stringIn .= ')'; $query = 'DELETE FROM operating_values WHERE id NOT IN ' . $stringIn . ' AND name="firmInfo" AND value0="ContactInfo" AND module_name = "EcmSysInfos"'; $this->db->query($query); } $this->setContactInfo(); } function getKRS() { return $this->krs; } function getFormatNumberForModule($modulename){ $return = $this->db->query("SELECT value0 FROM operating_values WHERE id = (SELECT value1 from operating_values WHERE value2='". $modulename ."' AND name='headersDocuments' AND module_name='EcmSysInfos' and value4='pl_pl')"); $row = $this->db->fetchByAssoc($return); return $row['value0']; } function getHeaderForModule($modulename, $language='pl_pl'){ $return = $this->db->query("SELECT text0 from operating_values WHERE value2='". $modulename ."' AND value4='". $language ."'AND name='headersDocuments' AND module_name='EcmSysInfos'"); $row = $this->db->fetchByAssoc($return); return html_entity_decode($row['text0']); } function getFooterForModule($modulename, $language='pl_pl'){ $return = $this->db->query("SELECT text1 from operating_values WHERE value2='". $modulename ."' AND value4='". $language ."' AND name='headersDocuments' AND module_name='EcmSysInfos'"); $row = $this->db->fetchByAssoc($return); return html_entity_decode($row['text1']); } function getCorrespondenceAdress() { return $this->correspondence_adress; } function getRegisterAdress() { return $this->register_adress; } function getContactInfo() { return $this->contact_info; } function getWWW() { return $this->www; } function getRegon() { return $this->regon; } function getNip() { return $this->nip; } function getBanks() { return $this->banks; } function getBankAccoutnsList() { $tmp = array(); foreach ($this->banks as $key => $value) { $tmp[] = $value['NUMBER']; } return $tmp; } function getShortName() { return $this->short_name; } function getName() { return $this->name; } function getInvoiceNumberFormat() { return $this->invoice_number_format; } function getAdress() { return $this->adress; } function setBanks() { $query = 'SELECT id ID, value7 POSITION, value2 NAMESHORT, value8 NAME, value9 NUMBER, value3 CURRENCY, value4 SWIFT, value5 IBAN FROM operating_values WHERE name = "firmInfo" AND value0 = "bankAccount" AND module_name="EcmSysInfos" ORDER BY value7'; $return = $this->db->query($query); $this->banks = array(); while ($row = $this->db->fetchByAssoc($return)) { $this->banks[] = $row; } } function getCurrencies(){ $zap=$this->db->query("select id,name from currencies where deleted=0"); $list=array(); $tmp['id']='PLN'; $tmp['name']='PLN'; $list[]=$tmp; while($dane=$this->db->fetchByAssoc($zap)){ $list[]=$dane; } return $list; } function setAdress() { $query = 'SELECT id ID, value2 POSITION, value3 NAME, value4 STREET, value5 CITY, value6 POSTALCODE, value7 COUNTRY, value8 PHONE, value9 FAX FROM operating_values WHERE name = "firmInfo" AND value0 = "Adress" AND module_name="EcmSysInfos" ORDER BY value2'; $return = $this->db->query($query); $this->adress = array(); while ($row = $this->db->fetchByAssoc($return)) { $this->adress[] = $row; } } function setContactInfo() { $query = 'SELECT id ID, value7 POSITION, value8 NAME, value9 VALUE FROM operating_values WHERE name = "firmInfo" AND value0 = "ContactInfo" AND module_name="EcmSysInfos" ORDER BY value7'; $return = $this->db->query($query); $this->contact_info = array(); while ($row = $this->db->fetchByAssoc($return)) { $this->contact_info[] = $row; } } function fill_in_additional_detail_fields() { parent::fill_in_additional_detail_fields(); } }