Heray-Was-Here
Server : Apache
System : Linux mail.lomejor.cr 6.8.0-1059-azure #65~22.04.1-Ubuntu SMP Thu May 28 16:59:19 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.2.31
Disable Function : NONE
Directory :  /var/www/erp/htdocs/custom/smspubli/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/erp/htdocs/custom/smspubli/send.php
<?php
/* Copyright (C) 2012 Maxime MANGIN <maxime@tuxserv.fr>
 * Copyright (C) 2017 Josep Lluis Amador <joseplluis@lliuretic.cat>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
/**
 * \file    send.php
 * \ingroup smspubli
 * \brief   SmsPubli send SMS page.
 *
 * File based on smsdecanet module.
 */

// Load Dolibarr environment
//require(DOL_DOCUMENT_ROOT."/main.inc.php");
if (false === (@include '../../main.inc.php')) {  // From htdocs directory
	require '../../../main.inc.php'; // From "custom" directory
}

// Libraries
require_once DOL_DOCUMENT_ROOT . "/core/lib/admin.lib.php";
require_once("./core/modules/modSmsPubli.class.php");
$langs->load("admin");
$langs->load("sms");
$langs->load("smspubli@smspubli");

// Security check
if ($user->societe_id > 0)
{
	accessforbidden();
}


$action=GETPOST('action');

if ($action == 'send' && ! $_POST['cancel'])
{	
	$error=0;

	$smsfrom='';
	if (! empty($_POST["fromsms"])) $smsfrom=GETPOST("fromsms");
	if (empty($smsfrom)) $smsfrom=GETPOST("fromname");
	$sendto     = GETPOST("sendto");
	$body       = GETPOST('message');
	$deliveryreceipt= GETPOST("deliveryreceipt");
    $deferred   = GETPOST('deferred');
    $priority   = GETPOST('priority');
    $class      = GETPOST('class');
    $errors_to  = GETPOST("errorstosms");
	// Create form object
	include_once('./core/class/html.formsmspubli.class.php');
	$formsms = new FormSms($db);

	if (! empty($formsms->error))
	{
	    $message='<div class="error">'.$formsms->error.'</div>';
	    $action='singlesms';
	    $error++;
	}
    if (empty($body))
    {
        $message='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentities("Message")).'</div>';
        $action='singlesms';
        $error++;
    }
	if (empty($smsfrom) || ! str_replace('+','',$smsfrom))
	{
		$message='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentities("SmsFrom")).'</div>';
        $action='singlesms';
		$error++;
	}
	if (empty($sendto) || ! str_replace('+','',$sendto))
	{
		$message='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentities("SmsTo")).'</div>';
        $action='singlesms';
		$error++;
	}
	if (! $error)
	{
		require_once(DOL_DOCUMENT_ROOT."/core/class/CSMSFile.class.php");
		$smsfile = new CSMSFile($sendto, $smsfrom, $body, $deliveryreceipt, $deferred, $priority, $class);
		$result=$smsfile->sendfile();

		if ($result!='0')
		{
			$message='<div class="ok">'.$langs->trans("SmsSuccessfulySent",$smsfrom,$sendto).'</div>';
		}
		else
		{
			$message='<div class="error">'.$langs->trans("ResultKo").'<br>'.$smsfile->error.' '.$result.'</div>';
		}

		$action='';
	}

}

include_once("./core/class/html.formsmspubli.class.php");
$formsms = new FormSms($db);

// llxHeader('',$langs->trans("SendSMS"));
// dol_htmloutput_mesg($message);
$socid=intval($_GET['id']);
$type = $_GET['type'];

if ($socid > 0 && $type == 'societe') {

	require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
	require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';

	$object = new Societe($db);
	$result = $object->fetch($socid);

	$title = $langs->trans("SendSMS");
	if (!empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/', $conf->global->MAIN_HTML_TITLE) && $object->name) {
		$title = $object->name." - ".$title;
	}
	llxHeader('', $title);

	$head = societe_prepare_head($object);

	print dol_get_fiche_head($head, 'SendSMS', $langs->trans("ThirdParty"), -1, 'company');

	$linkback = '<a href="'.DOL_URL_ROOT.'/societe/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
}else{

	require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
	require_once DOL_DOCUMENT_ROOT.'/core/lib/contact.lib.php';
	// Si edition contact deja existant
	$object = new Contact($db);
	$res = $object->fetch($socid, $user);
	if ($res < 0) {
		dol_print_error($db, $object->error); exit;
	}
	$res = $object->fetch_optionals();
	if ($res < 0) {
		dol_print_error($db, $object->error); exit;
	}

	// Show tabs
	$head = contact_prepare_head($object);

	$title = (!empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("Contacts") : $langs->trans("ContactsAddresses"));
	
	llxHeader('', $title);

	dol_htmloutput_errors($error, $errors);

	print dol_get_fiche_head($head, 'SendSMS', $title, -1, 'contact');

	$linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';

	dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref', $morehtmlref);

	print '<div class="fichecenter">';

	print dol_get_fiche_end();
}

$to = '';

if ($type != 'contact'){
	if($socid>0) {
		$soc = new Societe($db);
		$soc->fetch($socid);
		$soc->info($socid);
		if(substr($soc->phone,0,1)!='+')
			$to = ''.substr($soc->phone,1);
		else
			$to = (int) filter_var($soc->phone, FILTER_SANITIZE_NUMBER_INT)  ;
	}
}else{
	if($socid>0) {
		$soc = new Contact($db);
		$soc->fetch($socid);
		$soc->info($socid);
		if(substr($soc->phone_mobile,0,1)!='+')
			$to = ''.$soc->phone_mobile;
		else
			$to = (int) filter_var($soc->phone_mobile, FILTER_SANITIZE_NUMBER_INT)  ;
	}
}

$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("SendSMS"),false,'setup');

$formsms->fromtype='user';
$formsms->fromid=$user->id;
$formsms->fromsms = (isset($_POST['fromsms'])?$_POST['fromsms']:($conf->global->SMSPUBLI_SMSFROM?$conf->global->SMSPUBLI_SMSFROM:($conf->global->MAIN_MAIL_SMS_FROM?$conf->global->MAIN_MAIL_SMS_FROM:$user->user_mobile)));
$formsms->withfromreadonly=0;
$formsms->withsubstit=0;
$formsms->withfrom=1;
$formsms->witherrorsto=1;
$formsms->withto=$to;
$formsms->withfile=2;
$formsms->withbody=$langs->trans("yourMessage");
$formsms->withbodyreadonly=0;
$formsms->withcancel=0;
$formsms->withfckeditor=0;
// Tableau des parametres complementaires du post
$formsms->param["action"]="send";
$formsms->param["models"]="body";
$formsms->param["smsid"]=0;
$formsms->param["returnurl"]=$_SERVER['REQUEST_URI'];

$formsms->show_form();

		echo '<br><br><table class="noborder" centpercent>';
		echo '<tr class="liste_titre">';
		echo "  <td>".$langs->trans("HistorySMSAccount")."</td>\n";
		echo "  <td align=\"left\" ></td>";
		echo "  <td align=\"left\" ></td>";
		echo "  <td >&nbsp;</td></tr>";
		$var = !$var;
		//from_date --> Obtain reports from this date onwards. Format is YYYY-MM-DD HH:MM:SS.
		$sql  = "Select * from ".MAIN_DB_PREFIX."sms_log  where fk_object = ".$socid." order by tms desc";
		$resp = $db->query($sql);
		//$result = $db->fetch_object($resp);
		if( $resp ) {
			while($row = $db->fetch_object($resp) ) { 
				$socid =$row->fk_object;
				if ($row->type != 'contact'){
					if($socid>0) {
						$soc = new Societe($db);
						$soc->fetch($socid);
						$nom = $soc->nom;
					}
				}else{
					if($socid>0) {
						$soc = new Contact($db);
						$soc->fetch($socid);
						$nom = $soc->firstname .' '.$soc->lastname;
					}
				}

				echo "<tr ".$row->rowid.">";
				echo '<td>'.$row->rowid.' ('.$row->tms.')</td>';
				echo '<td align="left">'.$row->type.' ('.$row->fk_object.'-'.$nom.')</td>';
				echo '<td align="left">'.$row->telephone.'</td>';
				echo '<td align="left">'.$row->message.'</td>';
				echo '</tr>';
			}
		}

		print '</table>';
$db->close();


llxFooter();

Hry