modify ( '-'.$date_start.' days' ); $d_t = $date_to->format ( 'Y-m-d' ); $date_from = new DateTime ( date ( "Y-m-d" ) ); $date_from->modify ( '-'.$date_end.' days' ); $d_f = $date_from->format ( 'Y-m-d' ); $query="select * from ecmtransactions where parent_id='".$parent_id."' and settled=0 and payment_date <= '".$d_f."'"; } else { $date_to = new DateTime ( date ( "Y-m-d" ) ); $date_to->modify ( '-'.$date_start.' days' ); $d_t = $date_to->format ( 'Y-m-d' ); $date_from = new DateTime ( date ( "Y-m-d" ) ); $date_from->modify ( '-'.$date_end.' days' ); $d_f = $date_from->format ( 'Y-m-d' ); $query="select * from ecmtransactions where parent_id='".$parent_id."' and settled=0 and payment_date >= '".$d_f."' and payment_date <='".$d_t."'"; } $res=$db->query($query); $transakcje_ma=[]; $transakcje_winien=[]; while($dane=$db->fetchByAssoc($res)){ if($dane['type']==0){ if($dane['record_type']=='EcmInvoiceOuts'){ $inv = new EcmInvoiceOut(); $inv->retrieve($dane['record_id']); if($inv->parent_id!=$parent_id){ $dane['parent_2_id']=$inv->parent_id; $dane['parent_2_name']=$inv->parent_name; } } $transakcje_winien[]=$dane; } else { $transakcje_ma[]=$dane; } } $ss = new Sugar_Smarty(); $ss->assign("ma", $transakcje_winien); $ss->assign("ID", $parent_id); $ss->assign("winien", $transakcje_ma); $ss->assign("range", $date_end); $ss->assign("okres", $date_start.' - '. ($date_end ==0 ? '...' : $date_end)); echo $ss->display('modules/EcmPaymentStates/tpls/AccountPaymentStatesDetail.tpl'); return true; } function searchBadTransactions($parent_id){ $db=$GLOBALS['db']; # ma $query=" SELECT t.id, t.name, t.value, t.parent_name, t.parent_id, sum(rel.value) as sum, t2.parent_id, t2.deleted FROM ecmtransactions t inner join ecmtransactions_rel rel on rel.ecmtransaction_b_id=t.id left join ecmtransactions t2 on rel.ecmtransaction_a_id=t2.id WHERE t.deleted = 0 AND t.register_date > '2011-12-31' AND t.type=1 and t.parent_id='".$parent_id."' and t.settled=1 group by t.id"; $res= $db->query($query); $ma=[]; while($dane=$db->fetchByAssoc($res)){ if($dane['deleted']==1){ $ma[$dane['id']]['id']=$dane['id']; $ma[$dane['id']]['name']=$dane['name']; $ma[$dane['id']]['why']='Powiązana transakcja nie istnieje'; } if($dane['parent_id']==""){ $ma[$dane['id']]['id']=$dane['id']; $ma[$dane['id']]['name']=$dane['name']; $ma[$dane['id']]['why']='Powiązana transakcja nie istnieje'; } if($dane['sum']!=$dane['value']){ $ma[$dane['id']]['id']=$dane['id']; $ma[$dane['id']]['name']=$dane['name']; $ma[$dane['id']]['why']='Kwoty się nie bilansują'; } } # winien $query=" SELECT t.id, t.name, t.value, t.parent_name, t.parent_id, sum(rel.value) as sum, t2.parent_id, t2.deleted FROM ecmtransactions t inner join ecmtransactions_rel rel on rel.ecmtransaction_a_id=t.id left join ecmtransactions t2 on rel.ecmtransaction_b_id=t2.id WHERE t.deleted = 0 AND t.register_date > '2011-12-31' and t.settled=1 AND t.type=0 and t.parent_id='".$parent_id."' group by t.id "; $res= $db->query($query); $winien=[]; while($dane=$db->fetchByAssoc($res)){ if($dane['deleted']==1){ $winien[$dane['id']]['id']=$dane['id']; $winien[$dane['id']]['name']=$dane['name']; $winien[$dane['id']]['why']='Powiązana transakcja nie istnieje'; } if($dane['parent_id']==""){ $winien[$dane['id']]['id']=$dane['id']; $winien[$dane['id']]['name']=$dane['name']; $winien[$dane['id']]['why']='Powiązana transakcja nie istnieje'; } if($dane['sum']!=$dane['value']){ $winien[$dane['id']]['id']=$dane['id']; $winien[$dane['id']]['name']=$dane['name']; $winien[$dane['id']]['why']='Kwoty się nie bilansują'; } #winien 2 $query2="SELECT rel.*,t.id as ids,t.deleted from ecmtransactions_rel rel left join ecmtransactions t on t.id=rel.ecmtransaction_b_id where rel.ecmtransaction_a_id ='".$dane['id']."'"; $res2= $db->query($query2); while($dane2=$db->fetchByAssoc($res2)){ if($dane2['ecmtransaction_b_id']==""){ $winien[$dane['id']]['id']=$dane['id']; $winien[$dane['id']]['name']=$dane['name']; $winien[$dane['id']]['why']='Powiązana transakcja nie istnieje'; } if($dane2['deleted']!=0){ $winien[$dane['id']]['id']=$dane['id']; $winien[$dane['id']]['name']=$dane['name']; $winien[$dane['id']]['why']='Powiązana transakcja nie istnieje'; } } } $ss = new Sugar_Smarty(); $ss->assign("winien", $winien); $ss->assign("ma", $ma); $ss->assign("parent_id", $parent_id); echo $ss->display('modules/EcmPaymentStates/tpls/Detail.tpl'); return true; } function sendNote($ids,$parent_id){ global $current_user; $db=$GLOBALS['db']; $uq=$db->query("select google_login,CAST(AES_DECRYPT(google_password, 'jakistamhash123') as CHAR) AS google_password FROM users where id='".$current_user->id."'"); $rul=$db->fetchByAssoc($uq); if($rul['google_login']!='' && $rul['google_password']!=''){ require_once ("modules/EcmPaymentStates/createPDF.php"); require_once ("include/phpmailer/class.phpmailer.php"); require_once ("include/phpmailer/class.smtp.php"); $mailClassS = new PHPMailer (); $mailClassS->isSMTP (); // Set mailer to use SMTP $mailClassS->Host = 'smtp.gmail.com'; // Specify main and backup server $mailClassS->SMTPAuth = true; // Enable SMTP authentication $mailClassS->Username = $rul['google_login']; // SMTP username $mailClassS->Password = $rul['google_password']; // SMTP password $mailClassS->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted $mailClassS->Port = 587; // Set the SMTP port number - 587 for // get email from accounts $sea = new SugarEmailAddress; // Grab the array of addresses $addresses = $sea->getAddressesByGUID($parent_id, 'Accounts'); foreach ( $addresses as $address ) { if($address['email_address']!='' && $address['opt_out']==1){ $mailClassS->addAddress ($address['email_address']); // Add address } } // set sender $mailClassS->Sender=$rul['google_login']; $mailClassS->From =$rul['google_login']; $mailClassS->FromName =$current_user->first_name.' '.$current_user->last_name; $mailClassS->WordWrap = 50; // Set word wrap to 50 characters $mailClassS->isHTML ( true ); // Set email format to HTML $mailClassS->Subject = 'Dokument od E5 Polska sp. z o.o.'; $path=createEcmPaymentStatePdf('null','FILE','null',$ids); $mailClassS->Body = 'Witam,

Nota odsetkowa'; // załącznik if(file_exists('/var/www/html/crm/'.$path)){ $mailClassS->addAttachment($path); } // Read an HTML message body from an external file, convert // referenced images to embedded, // convert HTML into a basic plain-text alternative body // $mailClassS->msgHTML(file_get_contents('contents.html'), // dirname(__FILE__)); if(count($mailClassS->to)>0){ if (! $mailClassS->send ()) { unlink('/var/www/html/crm/'.$path); echo '-1'; } else { unlink('/var/www/html/crm/'.$path); echo '1'; } } else { echo '-1'; } } else { echo '-1'; } } function createMonit($ids,$parent_id){ //ini_set('display_errors',1); include 'modules/EcmPaymentStates/interestModel.php'; $m= new interestModel(); global $current_user; $db=$GLOBALS['db']; $uq=$db->query("select google_login,CAST(AES_DECRYPT(google_password, 'jakistamhash123') as CHAR) AS google_password FROM users where id='".$current_user->id."'"); $rul=$db->fetchByAssoc($uq); if($rul['google_login']!='' && $rul['google_password']!=''){ // require_once ("modules/EcmPaymentStates/createPDF.php"); require_once ("include/phpmailer/class.phpmailer.php"); require_once ("include/phpmailer/class.smtp.php"); $mailClassS = new PHPMailer (); $mailClassS->isSMTP (); // Set mailer to use SMTP $mailClassS->Host = 'smtp.gmail.com'; // Specify main and backup server $mailClassS->SMTPAuth = true; // Enable SMTP authentication $mailClassS->Username = $rul['google_login']; // SMTP username $mailClassS->Password = $rul['google_password']; // SMTP password $mailClassS->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted $mailClassS->Port = 587; // Set the SMTP port number - 587 for // get email from accounts $sea = new SugarEmailAddress; // Grab the array of addresses $addresses = $sea->getAddressesByGUID($parent_id, 'Accounts'); foreach ( $addresses as $address ) { if($address['email_address']!='' && $address['opt_out']==1){ $mailClassS->addAddress ($address['email_address']); // Add address } } // set sender $mailClassS->Sender=$rul['google_login']; $mailClassS->From =$rul['google_login']; $mailClassS->FromName =$current_user->first_name.' '.$current_user->last_name; $mailClassS->WordWrap = 50; // Set word wrap to 50 characters $mailClassS->isHTML ( true ); // Set email format to HTML $mailClassS->Subject = 'Dokument od E5 Polska sp. z o.o.'; $mailClassS->Body = 'Witam,

Przypominamy o zaległości, w załączniku z znajduje się wezwanie do zapłaty'; // załącznik $path=$m->makeMonit($ids); if(file_exists('/var/www/html/crm/'.$path)){ $mailClassS->addAttachment($path); } // Read an HTML message body from an external file, convert // referenced images to embedded, // convert HTML into a basic plain-text alternative body // $mailClassS->msgHTML(file_get_contents('contents.html'), // dirname(__FILE__)); if(count($mailClassS->to)>0){ if (! $mailClassS->send ()) { unlink('/var/www/html/crm/'.$path); echo '-1'; } else { unlink('/var/www/html/crm/'.$path); echo '1'; } } else { echo '-1'; } } else { echo '-1'; } } function getTransaction($id) { if (!$id || $id == '') die('-1'); $db = $GLOBALS['db']; $res = $db->fetchByAssoc($db->query(" SELECT t.id,t.name, t.value, sum(rel.value) as settled FROM ecmtransactions AS t INNER JOIN ecmtransactions_rel AS rel ON (rel.ecmtransaction_a_id=t.id OR rel.ecmtransaction_b_id=t.id) WHERE t.id='$id' ")); if (!$res['settled']) $res['settled'] = 0; echo json_encode($res); return; } function createRelation($id, $value, $payment) { $db = $GLOBALS['db']; global $current_user; $db->query(" INSERT INTO ecmtransactions_rel VALUES ( '".create_guid()."', '".date("Y-m-d H:i:s")."', '".$current_user->id."', '$id', '$payment', '$value' ) "); //check is settled //winien $res = $db->fetchByAssoc($db->query(" SELECT (t.value-sum(rel.value)) as unsettled FROM ecmtransactions AS t INNER JOIN ecmtransactions_rel AS rel ON (rel.ecmtransaction_a_id=t.id OR rel.ecmtransaction_b_id=t.id) WHERE t.id='$id' ")); echo 'WINIEN '.$row['unsettled'].'...'; if ($res['unsettled']==0){ $t = new EcmTransaction(); $t->retrieve($id); if($t->record_type=='Documents'){ $db->query("UPDATE documents SET status='2' WHERE id='$t->record_id'"); } $db->query("UPDATE ecmtransactions SET settled='1' WHERE id='$id'"); } //ma $res = $db->fetchByAssoc($db->query(" SELECT (t.value-sum(rel.value)) as unsettled FROM ecmtransactions AS t INNER JOIN ecmtransactions_rel AS rel ON (rel.ecmtransaction_a_id=t.id OR rel.ecmtransaction_b_id=t.id) WHERE t.id='$payment' ")); echo 'MA '.$row['unsettled'].'...'; if ($res['unsettled']==0){ $t = new EcmTransaction(); $t->retrieve($payment); if($t->record_type=='Documents'){ $db->query("UPDATE documents SET status='2' WHERE id='$t->record_id'"); $db->query("UPDATE ecmtransactions SET settled='1' WHERE id='$payment'"); } } echo '1'; return; } function getDetails($id) { $db = $GLOBALS['db']; $result = array(); $res = $db->query(" select t.id, t.name, rel.value from ecmtransactions_rel as rel inner join ecmtransactions as t on t.id = rel.ecmtransaction_a_id where rel.ecmtransaction_b_id='$id' and t.deleted=0"); while ($row = $db->fetchByAssoc($res)) { $row['value'] = format_number($row['value']); $result[] = $row; } $res = $db->query(" select t.id, t.name, rel.value from ecmtransactions_rel as rel inner join ecmtransactions as t on t.id = rel.ecmtransaction_b_id where rel.ecmtransaction_a_id='$id' and t.deleted=0"); while ($row = $db->fetchByAssoc($res)) { $row['value'] = format_number($row['value']); $result[] = $row; } $ss = new Sugar_Smarty(); $ss->assign("ID", $id); $ss->assign("RES", $result); echo $ss->display('modules/EcmPaymentStates/tpls/AccountPaymentStatesDetail.tpl'); return true; }