diff --git a/workflow/engine/controllers/adminProxy.php b/workflow/engine/controllers/adminProxy.php
index 3cdc11b81..af441642c 100644
--- a/workflow/engine/controllers/adminProxy.php
+++ b/workflow/engine/controllers/adminProxy.php
@@ -25,1275 +25,1215 @@
class adminProxy extends HttpProxyController
{
- public function saveSystemConf($httpData)
- {
- G::loadClass('system');
- $envFile = PATH_CONFIG . 'env.ini';
- $updateRedirector = false;
- $restart = false;
-
- if (!file_exists($envFile) ) { // if ini file doesn't exists
- if (!is_writable(PATH_CONFIG)) {
- throw new Exception('The enviroment config directory is not writable.
Please give write permission to directory: /workflow/engine/config');
- }
- $content = ";\r\n";
- $content .= "; ProcessMaker System Bootstrap Configuration\r\n";
- $content .= ";\r\n";
- file_put_contents($envFile, $content);
- //@chmod($envFile, 0777);
- }
- else {
- if (!is_writable($envFile)) {
- throw new Exception('The enviroment ini file file is not writable.
Please give write permission to file: /workflow/engine/config/env.ini');
- }
- }
-
- $sysConf = System::getSystemConfiguration($envFile);
-
- $updatedConf = array();
-
- if ($sysConf['default_lang'] != $httpData->default_lang) {
- $updatedConf['default_lang'] = $sysConf['default_lang'] = $httpData->default_lang;
- $updateRedirector = true;
- }
-
- if ($sysConf['default_skin'] != $httpData->default_skin) {
- $updatedConf['default_skin'] = $sysConf['default_skin'] = $httpData->default_skin;
- $updateRedirector = true;
- }
-
- if ($sysConf['time_zone'] != $httpData->time_zone) {
- $updatedConf['time_zone'] = $httpData->time_zone;
- }
-
- $httpData->memory_limit .= 'M';
- if ($sysConf['memory_limit'] != $httpData->memory_limit) {
- $updatedConf['memory_limit'] = $httpData->memory_limit;
- }
-
- if ($sysConf['proxy_host'] != $httpData->proxy_host) {
- $updatedConf['proxy_host'] = $httpData->proxy_host;
- }
-
- if ($sysConf['proxy_port'] != $httpData->proxy_port) {
- $updatedConf['proxy_port'] = $httpData->proxy_port;
- }
-
- if ($sysConf['proxy_user'] != $httpData->proxy_user) {
- $updatedConf['proxy_user'] = $httpData->proxy_user;
- }
-
- if ($sysConf['proxy_pass'] != $httpData->proxy_pass) {
- $updatedConf['proxy_pass'] = G::encrypt($httpData->proxy_pass, 'proxy_pass');
- }
-
- if ($updateRedirector) {
- if (!file_exists(PATH_HTML . 'index.html')) {
- throw new Exception('The index.html file is not writable on workflow/public_html directory.');
- }
- else {
- if (!is_writable(PATH_HTML . 'index.html')) {
- throw new Exception(G::LoadTranslation('ID_INDEX_NOT_WRITEABLE') . ' /workflow/public_html/index.html');
- }
- }
-
- System::updateIndexFile(array(
- 'lang' => $sysConf['default_lang'],
- 'skin' => $sysConf['default_skin']
- ));
-
- $restart = true;
- }
-
- G::update_php_ini($envFile, $updatedConf);
- if (substr($sysConf['default_skin'], 0, 2) == 'ux') {
- $urlPart = '/main/login';
- }
- else {
- $urlPart = '/login/login';
- }
-
- $this->success = true;
- $this->restart = $restart;
- $this->url = '/sys' . SYS_SYS . '/' . $sysConf['default_lang'] . '/' . $sysConf['default_skin'] . $urlPart;
- $this->message = 'Saved Successfully';
- }
-
- function uxUserUpdate($httpData)
- {
- require_once 'classes/model/Users.php';
- $data = G::json_decode($httpData->users);
- $list = array();
-
- if (!is_array($data)) {
- $list[0] = (array) $data ;
- }
- else {
- $list = $data;
- }
-
- $rows = array();
-
- foreach ($list as $value) {
- $value = (array) $value;
- $user = UsersPeer::retrieveByPK($value['USR_UID']);
- $user->setUsrUx($value['USR_UX']);
- $user->save();
-
- $row = $user->toArray(BasePeer::TYPE_FIELDNAME);
-
- $uxList = self::getUxTypesList();
- $row['USR_UX'] = $uxList[$user->getUsrUx()];
- $rows[] = $row;
- }
-
- if (count($rows) == 1) {
- $retRow = $rows[0];
- }
- else {
- $retRow = $rows;
- }
-
- return array('success' => true, 'message'=>'done', 'users'=>$retRow);
- }
-
- function calendarValidate($httpData) {
- $httpData=array_unique((array)$httpData);
- $message = '';
- $oldName = isset($_POST['oldName'])? $_POST['oldName']:'';
-
- switch ($_POST['action']){
- case 'calendarName':
- require_once ('classes/model/CalendarDefinition.php');
- $oCalendar = new CalendarDefinition();
- $aCalendars = $oCalendar->getCalendarList(false,true);
- $aCalendarDefinitions = end($aCalendars);
-
- foreach($aCalendarDefinitions as $aDefinitions) {
- if (trim($_POST['name'])==''){
- $validated = false;
- $message = G::loadTranslation('ID_CALENDAR_INVALID_NAME');
- break;
- }
- if ($aDefinitions['CALENDAR_NAME'] != $_POST['name']){
- $validated = true;
- }
- else {
- if ($aDefinitions['CALENDAR_NAME'] != $oldName) {
- $validated = false;
- $message = G::loadTranslation('ID_CALENDAR_INVALID_NAME');
- break;
- }
- }
- }
- break;
- case 'calendarDates':
- $validated = false;
- $message = G::loadTranslation('ID_CALENDAR_INVALID_WORK_DATES');
- break;
- }
- return $message;
- }
-
- function uxGroupUpdate($httpData)
- {
- G::LoadClass('groups');
- $groups = new Groups();
- $users = $groups->getUsersOfGroup($httpData->GRP_UID);
- $success = true;
- $usersAdmin = '';
- foreach ($users as $user) {
- if ($user['USR_ROLE'] == 'PROCESSMAKER_ADMIN' && ($httpData->GRP_UX == 'SIMPLIFIED' || $httpData->GRP_UX == 'SINGLE')) {
- $success = false;
- $usersAdmin .= $user['USR_FIRSTNAME'] . ' ' . $user['USR_LASTNAME'] . ', ';
- }
- }
- if ($success) {
- $group = GroupwfPeer::retrieveByPK($httpData->GRP_UID);
- $group->setGrpUx($httpData->GRP_UX);
- $group->save();
- }
- return array('success' => $success, 'users' => $usersAdmin);
- }
-
- function getUxTypesList($type = 'assoc')
- {
- $list = array();
-
- if ($type == 'assoc') {
- $list = array(
- 'NORMAL' => 'Normal',
- 'SIMPLIFIED' => 'Simplified',
- 'SWITCHABLE' => 'Switchable',
- 'SINGLE' => 'Single Application'
- );
- }
- else {
- $list = array(
- array('NORMAL', 'Normal'),
- array('SIMPLIFIED', 'Simplified'),
- array('SWITCHABLE', 'Switchable'),
- array('SINGLE', 'Single Application')
- );
- }
-
- return $list;
- }
-
- function calendarSave()
- {
- //{ $_POST['BUSINESS_DAY']
- $businessDayArray = G::json_decode($_POST['BUSINESS_DAY']);
- $businessDayFixArray = array();
- for($i=0;$iCALENDAR_BUSINESS_DAY;
- $businessDayFixArray[$i+1]['CALENDAR_BUSINESS_START'] = $businessDayArray[$i]->CALENDAR_BUSINESS_START;
- $businessDayFixArray[$i+1]['CALENDAR_BUSINESS_END'] = $businessDayArray[$i]->CALENDAR_BUSINESS_END;
- }
- $_POST['BUSINESS_DAY'] = $businessDayFixArray;
- //}
-
- //{ $_POST['CALENDAR_WORK_DAYS']
- $calendarWorkDaysArray = G::json_decode($_POST['CALENDAR_WORK_DAYS']);
- $calendarWorkDaysFixArray = array();
- for($i=0;$iCALENDAR_HOLIDAY_NAME;
- $holidayFixArray[$i+1]['CALENDAR_HOLIDAY_START'] = $holidayArray[$i]->CALENDAR_HOLIDAY_START;
- $holidayFixArray[$i+1]['CALENDAR_HOLIDAY_END'] = $holidayArray[$i]->CALENDAR_HOLIDAY_END;
- }
- $_POST['HOLIDAY'] = $holidayFixArray;
- //}
-
- //[ CALENDAR_STATUS BUSINESS_DAY_STATUS HOLIDAY_STATUS
- if($_POST['BUSINESS_DAY_STATUS']=="INACTIVE") {
- unset($_POST['BUSINESS_DAY_STATUS']);
- }
- if($_POST['HOLIDAY_STATUS']=="INACTIVE") {
- unset($_POST['HOLIDAY_STATUS']);
- }
- //]
-
- $form = $_POST;
- G::LoadClass('calendar');
- $calendarObj=new calendar();
- $calendarObj->saveCalendarInfo($form);
-
- echo "{success: true}";
- }
-
- /**
- * getting the kind of the authentication source
- * @param object $params
- * @return array $data
- */
- function testingOption($params){
-
- $data['success'] = true;
- $data['optionAuthS'] = $params->optionAuthS;
- return $data;
-
- }// end testingOption function
-
- /**
- * saving the authentication source data
- * @param object $params
- * @return array $data
- */
- function saveAuthSources($params){
-
- global $RBAC;
- if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') != 1) {
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- }
- $aCommonFields = array('AUTH_SOURCE_UID',
- 'AUTH_SOURCE_NAME',
- 'AUTH_SOURCE_PROVIDER',
- 'AUTH_SOURCE_SERVER_NAME',
- 'AUTH_SOURCE_PORT',
- 'AUTH_SOURCE_ENABLED_TLS',
- 'AUTH_ANONYMOUS',
- 'AUTH_SOURCE_SEARCH_USER',
- 'AUTH_SOURCE_PASSWORD',
- 'AUTH_SOURCE_VERSION',
- 'AUTH_SOURCE_BASE_DN',
- 'AUTH_SOURCE_OBJECT_CLASSES',
- 'AUTH_SOURCE_ATTRIBUTES');
-
- $aFields = $aData = array();
-
- unset($params->PHPSESSID);
- foreach ($params as $sField => $sValue) {
- if (in_array($sField, $aCommonFields)) {
- $aFields[$sField] = (($sField=='AUTH_SOURCE_ENABLED_TLS' || $sField=='AUTH_ANONYMOUS'))? ($sValue=='yes')?1:0 :$sValue;
- }
- else {
- $aData[$sField] = ($sValue=='Active Directory')?'ad':$sValue;
- }
- }
- $aFields['AUTH_SOURCE_DATA'] = $aData;
- if ($aFields['AUTH_SOURCE_UID'] == '') {
- $RBAC->createAuthSource($aFields);
- }
- else {
- $RBAC->updateAuthSource($aFields);
- }
- $data=array();
- $data['success'] = true;
- return $data;
- }//end saveAuthSoruces function
-
- /**
- * for Test email configuration
- * @autor Alvaro
- */
- public function testConnection($params) {
-
- G::LoadClass('net');
- G::LoadThirdParty('phpmailer', 'class.smtp');
-
- if ($_POST['typeTest'] == 'MAIL')
+ public function saveSystemConf($httpData)
{
- define("SUCCESSFUL", 'SUCCESSFUL');
- define("FAILED", 'FAILED');
- $mail_to = $_POST['mail_to'];
- $send_test_mail = $_POST['send_test_mail'];
- $_POST['FROM_NAME'] = $mail_to;
- $_POST['FROM_EMAIL'] = $mail_to;
- $_POST['MESS_ENGINE'] = 'MAIL';
- $_POST['MESS_SERVER'] = 'localhost';
- $_POST['MESS_PORT'] = 25;
- $_POST['MESS_ACCOUNT'] = $mail_to;
- $_POST['MESS_PASSWORD'] = '';
- $_POST['TO'] = $mail_to;
- $_POST['SMTPAuth'] = true;
+ G::loadClass('system');
+ $envFile = PATH_CONFIG . 'env.ini';
+ $updateRedirector = false;
+ $restart = false;
- try {
- $resp = $this->sendTestMail();
- } catch (Exception $error) {
- $resp = new stdclass();
- $resp->status = false;
- $resp->msg = $error->getMessage();
- }
-
- $response = array('success' => $resp->status);
-
- if ($resp->status == false)
- $response['msg'] = G::LoadTranslation('ID_SENDMAIL_NOT_INSTALLED');
-
- echo G::json_encode($response);
- die;
- }
-
- $step = $_POST['step'];
- $server = $_POST['server'];
- $user = $_POST['user'];
- $passwd = $_POST['passwd'];
- $passwdHide = $_POST['passwdHide'];
-
- if (trim($passwdHide) != '') {
- $passwd = $passwdHide;
- $passwdHide = '';
- }
-
- $passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
- $auxPass = explode('hash:', $passwdDec);
- if (count($auxPass) > 1) {
- if (count($auxPass) == 2) {
- $passwd = $auxPass[1];
+ if (!file_exists($envFile) ) {
+ if (!is_writable(PATH_CONFIG)) {
+ throw new Exception('The enviroment config directory is not writable.
Please give write permission to directory: /workflow/engine/config');
+ }
+ $content = ";\r\n";
+ $content .= "; ProcessMaker System Bootstrap Configuration\r\n";
+ $content .= ";\r\n";
+ file_put_contents($envFile, $content);
+ //@chmod($envFile, 0777);
} else {
- array_shift($auxPass);
- $passwd = implode('', $auxPass);
- }
- }
- $_POST['passwd'] = $passwd;
-
- $port = $_POST['port'];
- $auth_required = $_POST['req_auth'];
- $UseSecureCon = $_POST['UseSecureCon'];
- $SendaTestMail = $_POST['SendaTestMail'];
- $Mailto = $_POST['eMailto'];
- $SMTPSecure = $_POST['UseSecureCon'];
-
- $Server = new NET($server);
- $smtp = new SMTP;
-
- $timeout = 10;
- $hostinfo = array();
- $srv=$_POST['server'];
-
- switch ($step) {
- case 1:
- $this->success = $Server->getErrno() == 0;
- $this->msg = $this->result ? 'success' : $Server->error;
- break;
-
- case 2:
- $Server->scannPort($port);
-
- $this->success = $Server->getErrno() == 0; //'Successfull'.$smtp->status;
- $this->msg = $this->result ? '' : $Server->error;
- break;
-
- case 3: //try to connect to host
- if (preg_match('/^(.+):([0-9]+)$/', $srv, $hostinfo)) {
- $server = $hostinfo[1];
- $port = $hostinfo[2];
- }
- else {
- $host = $srv;
+ if (!is_writable($envFile)) {
+ throw new Exception('The enviroment ini file file is not writable.
Please give write permission to file: /workflow/engine/config/env.ini');
+ }
}
- $tls = (strtoupper($SMTPSecure) == 'tls');
- $ssl = (strtoupper($SMTPSecure) == 'ssl');
+ $sysConf = System::getSystemConfiguration($envFile);
- $this->success = $smtp->Connect(($ssl ? 'ssl://':'').$server, $port, $timeout);
- $this->msg = $this->result ? '' : $Server->error;
+ $updatedConf = array();
- break;
-
- case 4: //try login to host
- if($auth_required == 'true') {
- try {
- if (preg_match('/^(.+):([0-9]+)$/', $srv, $hostinfo)) {
- $server = $hostinfo[1];
- $port = $hostinfo[2];
- }
- else {
- $server = $srv;
- }
- if (strtoupper($UseSecureCon)=='TLS') {
- $tls = 'tls';
- }
-
- if (strtoupper($UseSecureCon)=='SSL') {
- $tls = 'ssl';
- }
-
- $tls = (strtoupper($UseSecureCon) == 'tls');
- $ssl = (strtoupper($UseSecureCon) == 'ssl');
- $server = $_POST['server'];
-
- if(strtoupper($UseSecureCon) == 'SSL') {
- $resp = $smtp->Connect(('ssl://').$server, $port, $timeout);
- }
- else {
- $resp = $smtp->Connect($server, $port, $timeout);
- }
-
- if ($resp) {
- $hello = $_SERVER['SERVER_NAME'];
- $smtp->Hello($hello);
-
- if (strtoupper($UseSecureCon) == 'TLS') {
- $smtp->Hello($hello);
- }
-
- if( $smtp->Authenticate($user, $passwd) ) {
- $this->success = true;
- }
- else {
- $this->success = false;
- $this->msg = $smtp->error['error'];
- }
- }
- else {
- $this->success = false;
- $this->msg = $smtp->error['error'];
- }
- }
- catch (Exception $e) {
- $this->success = false;
- $this->msg = $e->getMessage();
- }
+ if ($sysConf['default_lang'] != $httpData->default_lang) {
+ $updatedConf['default_lang'] = $sysConf['default_lang'] = $httpData->default_lang;
+ $updateRedirector = true;
}
- else {
- $this->success = true;
- $this->msg = 'No authentication required!';
+
+ if ($sysConf['default_skin'] != $httpData->default_skin) {
+ $updatedConf['default_skin'] = $sysConf['default_skin'] = $httpData->default_skin;
+ $updateRedirector = true;
}
- break;
- case 5: //send a test mail
- if($SendaTestMail == 'true') {
- try {
- $_POST['FROM_NAME'] = 'Process Maker O.S. [Test mail]';
- $_POST['FROM_EMAIL'] = $user;
- $_POST['MESS_ENGINE'] = 'PHPMAILER';
- $_POST['MESS_SERVER'] = $server;
- $_POST['MESS_PORT'] = $port;
- $_POST['MESS_ACCOUNT'] = $user;
- $_POST['MESS_PASSWORD'] = $passwd;
- $_POST['TO'] = $Mailto;
-
- if($auth_required == 'true') {
- $_POST['SMTPAuth'] = true;
- }
- else {
- $_POST['SMTPAuth'] = false;
- }
-
- if (strtolower($_POST["UseSecureCon"]) != "no") {
- $_POST["SMTPSecure"] = $_POST["UseSecureCon"];
- }
-
- if ($_POST['UseSecureCon'] == 'ssl') {
- $_POST['MESS_SERVER'] = 'ssl://'.$_POST['MESS_SERVER'];
- }
-
- $resp = $this->sendTestMail();
- if ($resp->status == '1') {
- $this->success=true;
- }
- else {
- $this->success=false;
- $this->msg=$smtp->error['error'];
- }
- }
- catch (Exception $e) {
- $this->success = false;
- $this->msg = $e->getMessage();
- }
+ if ($sysConf['time_zone'] != $httpData->time_zone) {
+ $updatedConf['time_zone'] = $httpData->time_zone;
}
- else {
- $this->success=true;
- $this->msg='jump this step';
+
+ $httpData->memory_limit .= 'M';
+ if ($sysConf['memory_limit'] != $httpData->memory_limit) {
+ $updatedConf['memory_limit'] = $httpData->memory_limit;
}
- break;
- }
- }
- /**
- * for send email configuration
- * @autor Alvaro
- */
- public function sendTestMail() {
+ if ($sysConf['proxy_host'] != $httpData->proxy_host) {
+ $updatedConf['proxy_host'] = $httpData->proxy_host;
+ }
- global $G_PUBLISH;
- G::LoadClass("system");
- G::LoadClass('spool');
+ if ($sysConf['proxy_port'] != $httpData->proxy_port) {
+ $updatedConf['proxy_port'] = $httpData->proxy_port;
+ }
- $sFrom = ($_POST['FROM_NAME'] != '' ? $_POST['FROM_NAME'] . ' ' : '') . '<' . $_POST['FROM_EMAIL'] . '>';
- $sSubject = G::LoadTranslation('ID_MESS_TEST_SUBJECT');
- $msg = G::LoadTranslation('ID_MESS_TEST_BODY');
+ if ($sysConf['proxy_user'] != $httpData->proxy_user) {
+ $updatedConf['proxy_user'] = $httpData->proxy_user;
+ }
- switch ($_POST['MESS_ENGINE']) {
- case 'MAIL':
- $engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_1');
- break;
+ if ($sysConf['proxy_pass'] != $httpData->proxy_pass) {
+ $updatedConf['proxy_pass'] = G::encrypt($httpData->proxy_pass, 'proxy_pass');
+ }
- case 'PHPMAILER':
- $engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_2');
- break;
+ if ($updateRedirector) {
+ if (!file_exists(PATH_HTML . 'index.html')) {
+ throw new Exception('The index.html file is not writable on workflow/public_html directory.');
+ } else {
+ if (!is_writable(PATH_HTML . 'index.html')) {
+ throw new Exception(G::LoadTranslation('ID_INDEX_NOT_WRITEABLE') . ' /workflow/public_html/index.html');
+ }
+ }
- case 'OPENMAIL':
- $engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_3');
- break;
+ System::updateIndexFile(array(
+ 'lang' => $sysConf['default_lang'],
+ 'skin' => $sysConf['default_skin']
+ ));
+
+ $restart = true;
+ }
+
+ G::update_php_ini($envFile, $updatedConf);
+ if (substr($sysConf['default_skin'], 0, 2) == 'ux') {
+ $urlPart = '/main/login';
+ } else {
+ $urlPart = '/login/login';
+ }
+
+ $this->success = true;
+ $this->restart = $restart;
+ $this->url = '/sys' . SYS_SYS . '/' . $sysConf['default_lang'] . '/' . $sysConf['default_skin'] . $urlPart;
+ $this->message = 'Saved Successfully';
}
- $sBodyPre = new TemplatePower(PATH_TPL . 'admin' . PATH_SEP . 'email.tpl');
- $sBodyPre->prepare();
- $sBodyPre->assign('server', $_SERVER['SERVER_NAME']);
- $sBodyPre->assign('date', date('H:i:s'));
- $sBodyPre->assign('ver', System::getVersion());
- $sBodyPre->assign('engine', $engine);
- $sBodyPre->assign('msg', $msg);
- $sBody = $sBodyPre->getOutputContent();
+ public function uxUserUpdate($httpData)
+ {
+ require_once 'classes/model/Users.php';
+ $data = G::json_decode($httpData->users);
+ $list = array();
- $oSpool = new spoolRun();
- $oSpool->setConfig(
- array(
- 'MESS_ENGINE' => $_POST['MESS_ENGINE'],
- 'MESS_SERVER' => $_POST['MESS_SERVER'],
- 'MESS_PORT' => $_POST['MESS_PORT'],
- 'MESS_ACCOUNT' => $_POST['MESS_ACCOUNT'],
- 'MESS_PASSWORD' => $_POST['MESS_PASSWORD'],
- 'SMTPAuth' => $_POST['SMTPAuth'],
- 'SMTPSecure' => isset($_POST['SMTPSecure'])?$_POST['SMTPSecure']:'none'
- )
- );
+ if (!is_array($data)) {
+ $list[0] = (array) $data ;
+ } else {
+ $list = $data;
+ }
- $oSpool->create(
- array(
- 'msg_uid' => '',
- 'app_uid' => '',
- 'del_index' => 0,
- 'app_msg_type' => 'TEST',
- 'app_msg_subject' => $sSubject,
- 'app_msg_from' => $sFrom,
- 'app_msg_to' => $_POST['TO'],
- 'app_msg_body' => $sBody,
- 'app_msg_cc' => '',
- 'app_msg_bcc' => '',
- 'app_msg_attach' => '',
- 'app_msg_template' => '',
- 'app_msg_status' => 'pending',
- 'app_msg_attach'=>'' // Added By Ankit
- )
- );
+ $rows = array();
- $oSpool->sendMail();
- $G_PUBLISH = new Publisher();
+ foreach ($list as $value) {
+ $value = (array) $value;
+ $user = UsersPeer::retrieveByPK($value['USR_UID']);
+ $user->setUsrUx($value['USR_UX']);
+ $user->save();
- if ($oSpool->status == 'sent') {
- $o->status = true;
- $o->success = true;
- $o->msg = G::LoadTranslation('ID_MAIL_TEST_SUCCESS');
+ $row = $user->toArray(BasePeer::TYPE_FIELDNAME);
+
+ $uxList = self::getUxTypesList();
+ $row['USR_UX'] = $uxList[$user->getUsrUx()];
+ $rows[] = $row;
+ }
+
+ if (count($rows) == 1) {
+ $retRow = $rows[0];
+ } else {
+ $retRow = $rows;
+ }
+
+ return array('success' => true, 'message'=>'done', 'users'=>$retRow);
}
- else {
- $o->status = false;
- $o->success = false;
- $o->msg = $oSpool->error;
+
+ public function calendarValidate($httpData)
+ {
+ $httpData=array_unique((array)$httpData);
+ $message = '';
+ $oldName = isset($_POST['oldName'])? $_POST['oldName']:'';
+
+ switch ($_POST['action']){
+ case 'calendarName':
+ require_once ('classes/model/CalendarDefinition.php');
+ $oCalendar = new CalendarDefinition();
+ $aCalendars = $oCalendar->getCalendarList(false,true);
+ $aCalendarDefinitions = end($aCalendars);
+
+ foreach ($aCalendarDefinitions as $aDefinitions) {
+ if (trim($_POST['name'])=='') {
+ $validated = false;
+ $message = G::loadTranslation('ID_CALENDAR_INVALID_NAME');
+ break;
+ }
+ if ($aDefinitions['CALENDAR_NAME'] != $_POST['name']) {
+ $validated = true;
+ } else {
+ if ($aDefinitions['CALENDAR_NAME'] != $oldName) {
+ $validated = false;
+ $message = G::loadTranslation('ID_CALENDAR_INVALID_NAME');
+ break;
+ }
+ }
+ }
+ break;
+ case 'calendarDates':
+ $validated = false;
+ $message = G::loadTranslation('ID_CALENDAR_INVALID_WORK_DATES');
+ break;
+ }
+ return $message;
}
- return $o;
- }
- /**
- * getting Save email configuration
- * @autor Alvaro
- */
- public function saveConfiguration() {
+ public function uxGroupUpdate($httpData)
+ {
+ G::LoadClass('groups');
+ $groups = new Groups();
+ $users = $groups->getUsersOfGroup($httpData->GRP_UID);
+ $success = true;
+ $usersAdmin = '';
+ foreach ($users as $user) {
+ if ($user['USR_ROLE'] == 'PROCESSMAKER_ADMIN' && ($httpData->GRP_UX == 'SIMPLIFIED' || $httpData->GRP_UX == 'SINGLE')) {
+ $success = false;
+ $usersAdmin .= $user['USR_FIRSTNAME'] . ' ' . $user['USR_LASTNAME'] . ', ';
+ }
+ }
+ if ($success) {
+ $group = GroupwfPeer::retrieveByPK($httpData->GRP_UID);
+ $group->setGrpUx($httpData->GRP_UX);
+ $group->save();
+ }
+ return array('success' => $success, 'users' => $usersAdmin);
+ }
- require_once 'classes/model/Configuration.php';
+ public function getUxTypesList($type = 'assoc')
+ {
+ $list = array();
- try {
- $oConfiguration = new Configuration();
- $aFields['MESS_PASSWORD'] = $_POST['passwd'];
+ if ($type == 'assoc') {
+ $list = array(
+ 'NORMAL' => 'Normal',
+ 'SIMPLIFIED' => 'Simplified',
+ 'SWITCHABLE' => 'Switchable',
+ 'SINGLE' => 'Single Application'
+ );
+ } else {
+ $list = array(
+ array('NORMAL', 'Normal'),
+ array('SIMPLIFIED', 'Simplified'),
+ array('SWITCHABLE', 'Switchable'),
+ array('SINGLE', 'Single Application')
+ );
+ }
+ return $list;
+ }
- if ($_POST['passwdHide'] != '') {
- $aFields['MESS_PASSWORD'] = $_POST['passwdHide'];
- }
+ public function calendarSave()
+ {
+ //{ $_POST['BUSINESS_DAY']
+ $businessDayArray = G::json_decode($_POST['BUSINESS_DAY']);
+ $businessDayFixArray = array();
+ for ($i=0; $iCALENDAR_BUSINESS_DAY;
+ $businessDayFixArray[$i+1]['CALENDAR_BUSINESS_START'] = $businessDayArray[$i]->CALENDAR_BUSINESS_START;
+ $businessDayFixArray[$i+1]['CALENDAR_BUSINESS_END'] = $businessDayArray[$i]->CALENDAR_BUSINESS_END;
+ }
+ $_POST['BUSINESS_DAY'] = $businessDayFixArray;
+ //}
- $aFields['MESS_PASSWORD_HIDDEN'] = '';
- $passwd = $aFields['MESS_PASSWORD'];
- $passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
- $auxPass = explode('hash:', $passwdDec);
- if (count($auxPass) > 1) {
- if (count($auxPass) == 2) {
- $passwd = $auxPass[1];
- } else {
- array_shift($auxPass);
- $passwd = implode('', $auxPass);
- }
- }
- $aFields['MESS_PASSWORD'] = $passwd;
+ //{ $_POST['CALENDAR_WORK_DAYS']
+ $calendarWorkDaysArray = G::json_decode($_POST['CALENDAR_WORK_DAYS']);
+ $calendarWorkDaysFixArray = array();
+ for ($i=0; $iCALENDAR_HOLIDAY_NAME;
+ $holidayFixArray[$i+1]['CALENDAR_HOLIDAY_START'] = $holidayArray[$i]->CALENDAR_HOLIDAY_START;
+ $holidayFixArray[$i+1]['CALENDAR_HOLIDAY_END'] = $holidayArray[$i]->CALENDAR_HOLIDAY_END;
+ }
+ $_POST['HOLIDAY'] = $holidayFixArray;
+ //}
- $aFields['MESS_ENABLED'] = isset($_POST['EnableEmailNotifications']) ? $_POST['EnableEmailNotifications'] : '';
- $aFields['MESS_ENABLED'] = ($aFields['MESS_ENABLED'] == 'true') ? '1' : $aFields['MESS_ENABLED'];
- $aFields['MESS_ENGINE'] = $_POST['EmailEngine'];
- $aFields['MESS_SERVER'] = trim($_POST['server']);
- $aFields['MESS_RAUTH'] = isset($_POST['req_auth']) ? $_POST['req_auth'] : '';
- $aFields['MESS_RAUTH'] = ($aFields['MESS_RAUTH'] == 'true') ? '1' : $aFields['MESS_RAUTH'];
- $aFields['MESS_PORT'] = $_POST['port'];
- $aFields['MESS_ACCOUNT'] = $_POST['from'];
- $aFields['MESS_BACKGROUND'] = '';//isset($_POST['background']) ? $_POST['background'] : '';
- $aFields['MESS_EXECUTE_EVERY'] = '';//$_POST['form']['MESS_EXECUTE_EVERY'];
- $aFields['MESS_SEND_MAX'] = '';//$_POST['form']['MESS_SEND_MAX'];
- $aFields['SMTPSecure'] = $_POST['UseSecureCon'];
- $aFields['SMTPSecure'] = ($aFields['SMTPSecure'] == 'No') ? 'none' : $aFields['SMTPSecure'];
- $aFields['MAIL_TO'] = $_POST['eMailto'];
- $aFields['MESS_TRY_SEND_INMEDIATLY'] = $_POST['SendaTestMail'];//isset($_POST['form']['MESS_TRY_SEND_INMEDIATLY']) ? $_POST['form']['MESS_TRY_SEND_INMEDIATLY'] : '';
- $aFields['MESS_TRY_SEND_INMEDIATLY'] = ($aFields['MESS_TRY_SEND_INMEDIATLY'] == 'true') ? '1' : $aFields['MESS_TRY_SEND_INMEDIATLY'];
- $CfgUid='Emails';
- $ObjUid='';
- $ProUid='';
- $UsrUid='';
- $AppUid='';
+ //[ CALENDAR_STATUS BUSINESS_DAY_STATUS HOLIDAY_STATUS
+ if ($_POST['BUSINESS_DAY_STATUS']=="INACTIVE") {
+ unset($_POST['BUSINESS_DAY_STATUS']);
+ }
+ if ($_POST['HOLIDAY_STATUS']=="INACTIVE") {
+ unset($_POST['HOLIDAY_STATUS']);
+ }
+ //]
- if($oConfiguration->exists($CfgUid, $ObjUid, $ProUid, $UsrUid, $AppUid)) {
- $oConfiguration->update(
- array(
- 'CFG_UID' => 'Emails',
- 'OBJ_UID' => '',
- 'CFG_VALUE' => serialize($aFields),
- 'PRO_UID' => '',
- 'USR_UID' => '',
- 'APP_UID' => ''
- )
+ $form = $_POST;
+ G::LoadClass('calendar');
+ $calendarObj=new calendar();
+ $calendarObj->saveCalendarInfo($form);
+ echo "{success: true}";
+ }
+
+ /**
+ * getting the kind of the authentication source
+ * @param object $params
+ * @return array $data
+ */
+ public function testingOption($params)
+ {
+ $data['success'] = true;
+ $data['optionAuthS'] = $params->optionAuthS;
+ return $data;
+
+ }
+
+ /**
+ * saving the authentication source data
+ * @param object $params
+ * @return array $data
+ */
+ public function saveAuthSources($params)
+ {
+ global $RBAC;
+ if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') != 1) {
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
+ G::header('location: ../login/login');
+ die;
+ }
+ $aCommonFields = array('AUTH_SOURCE_UID',
+ 'AUTH_SOURCE_NAME',
+ 'AUTH_SOURCE_PROVIDER',
+ 'AUTH_SOURCE_SERVER_NAME',
+ 'AUTH_SOURCE_PORT',
+ 'AUTH_SOURCE_ENABLED_TLS',
+ 'AUTH_ANONYMOUS',
+ 'AUTH_SOURCE_SEARCH_USER',
+ 'AUTH_SOURCE_PASSWORD',
+ 'AUTH_SOURCE_VERSION',
+ 'AUTH_SOURCE_BASE_DN',
+ 'AUTH_SOURCE_OBJECT_CLASSES',
+ 'AUTH_SOURCE_ATTRIBUTES');
+
+ $aFields = $aData = array();
+
+ unset($params->PHPSESSID);
+ foreach ($params as $sField => $sValue) {
+ if (in_array($sField, $aCommonFields)) {
+ $aFields[$sField] = (($sField=='AUTH_SOURCE_ENABLED_TLS' || $sField=='AUTH_ANONYMOUS'))? ($sValue=='yes')?1:0 :$sValue;
+ } else {
+ $aData[$sField] = ($sValue=='Active Directory')?'ad':$sValue;
+ }
+ }
+ $aFields['AUTH_SOURCE_DATA'] = $aData;
+ if ($aFields['AUTH_SOURCE_UID'] == '') {
+ $RBAC->createAuthSource($aFields);
+ } else {
+ $RBAC->updateAuthSource($aFields);
+ }
+ $data=array();
+ $data['success'] = true;
+ return $data;
+ }
+
+ /**
+ * for Test email configuration
+ * @autor Alvaro
+ */
+ public function testConnection($params)
+ {
+ G::LoadClass('net');
+ G::LoadThirdParty('phpmailer', 'class.smtp');
+
+ if ($_POST['typeTest'] == 'MAIL') {
+ define("SUCCESSFUL", 'SUCCESSFUL');
+ define("FAILED", 'FAILED');
+ $mail_to = $_POST['mail_to'];
+ $send_test_mail = $_POST['send_test_mail'];
+ $_POST['FROM_NAME'] = $mail_to;
+ $_POST['FROM_EMAIL'] = $mail_to;
+ $_POST['MESS_ENGINE'] = 'MAIL';
+ $_POST['MESS_SERVER'] = 'localhost';
+ $_POST['MESS_PORT'] = 25;
+ $_POST['MESS_ACCOUNT'] = $mail_to;
+ $_POST['MESS_PASSWORD'] = '';
+ $_POST['TO'] = $mail_to;
+ $_POST['SMTPAuth'] = true;
+
+ try {
+ $resp = $this->sendTestMail();
+ } catch (Exception $error) {
+ $resp = new stdclass();
+ $resp->status = false;
+ $resp->msg = $error->getMessage();
+ }
+
+ $response = array('success' => $resp->status);
+
+ if ($resp->status == false) {
+ $response['msg'] = G::LoadTranslation('ID_SENDMAIL_NOT_INSTALLED');
+ }
+ echo G::json_encode($response);
+ die;
+ }
+
+ $step = $_POST['step'];
+ $server = $_POST['server'];
+ $user = $_POST['user'];
+ $passwd = $_POST['passwd'];
+ $passwdHide = $_POST['passwdHide'];
+
+ if (trim($passwdHide) != '') {
+ $passwd = $passwdHide;
+ $passwdHide = '';
+ }
+
+ $passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
+ $auxPass = explode('hash:', $passwdDec);
+ if (count($auxPass) > 1) {
+ if (count($auxPass) == 2) {
+ $passwd = $auxPass[1];
+ } else {
+ array_shift($auxPass);
+ $passwd = implode('', $auxPass);
+ }
+ }
+ $_POST['passwd'] = $passwd;
+
+ $port = $_POST['port'];
+ $auth_required = $_POST['req_auth'];
+ $UseSecureCon = $_POST['UseSecureCon'];
+ $SendaTestMail = $_POST['SendaTestMail'];
+ $Mailto = $_POST['eMailto'];
+ $SMTPSecure = $_POST['UseSecureCon'];
+
+ $Server = new NET($server);
+ $smtp = new SMTP;
+
+ $timeout = 10;
+ $hostinfo = array();
+ $srv=$_POST['server'];
+
+ switch ($step) {
+ case 1:
+ $this->success = $Server->getErrno() == 0;
+ $this->msg = $this->result ? 'success' : $Server->error;
+ break;
+ case 2:
+ $Server->scannPort($port);
+
+ $this->success = $Server->getErrno() == 0; //'Successfull'.$smtp->status;
+ $this->msg = $this->result ? '' : $Server->error;
+ break;
+ case 3: //try to connect to host
+ if (preg_match('/^(.+):([0-9]+)$/', $srv, $hostinfo)) {
+ $server = $hostinfo[1];
+ $port = $hostinfo[2];
+ } else {
+ $host = $srv;
+ }
+
+ $tls = (strtoupper($SMTPSecure) == 'tls');
+ $ssl = (strtoupper($SMTPSecure) == 'ssl');
+
+ $this->success = $smtp->Connect(($ssl ? 'ssl://':'').$server, $port, $timeout);
+ $this->msg = $this->result ? '' : $Server->error;
+ break;
+ case 4: //try login to host
+ if ($auth_required == 'true') {
+ try {
+ if (preg_match('/^(.+):([0-9]+)$/', $srv, $hostinfo)) {
+ $server = $hostinfo[1];
+ $port = $hostinfo[2];
+ } else {
+ $server = $srv;
+ }
+ if (strtoupper($UseSecureCon)=='TLS') {
+ $tls = 'tls';
+ }
+
+ if (strtoupper($UseSecureCon)=='SSL') {
+ $tls = 'ssl';
+ }
+
+ $tls = (strtoupper($UseSecureCon) == 'tls');
+ $ssl = (strtoupper($UseSecureCon) == 'ssl');
+ $server = $_POST['server'];
+
+ if (strtoupper($UseSecureCon) == 'SSL') {
+ $resp = $smtp->Connect(('ssl://').$server, $port, $timeout);
+ } else {
+ $resp = $smtp->Connect($server, $port, $timeout);
+ }
+ if ($resp) {
+ $hello = $_SERVER['SERVER_NAME'];
+ $smtp->Hello($hello);
+ if (strtoupper($UseSecureCon) == 'TLS') {
+ $smtp->Hello($hello);
+ }
+ if ( $smtp->Authenticate($user, $passwd) ) {
+ $this->success = true;
+ } else {
+ $this->success = false;
+ $this->msg = $smtp->error['error'];
+ }
+ } else {
+ $this->success = false;
+ $this->msg = $smtp->error['error'];
+ }
+ } catch (Exception $e) {
+ $this->success = false;
+ $this->msg = $e->getMessage();
+ }
+ } else {
+ $this->success = true;
+ $this->msg = 'No authentication required!';
+ }
+ break;
+ case 5:
+ if ($SendaTestMail == 'true') {
+ try {
+ $_POST['FROM_NAME'] = 'Process Maker O.S. [Test mail]';
+ $_POST['FROM_EMAIL'] = $user;
+ $_POST['MESS_ENGINE'] = 'PHPMAILER';
+ $_POST['MESS_SERVER'] = $server;
+ $_POST['MESS_PORT'] = $port;
+ $_POST['MESS_ACCOUNT'] = $user;
+ $_POST['MESS_PASSWORD'] = $passwd;
+ $_POST['TO'] = $Mailto;
+
+ if ($auth_required == 'true') {
+ $_POST['SMTPAuth'] = true;
+ } else {
+ $_POST['SMTPAuth'] = false;
+ }
+ if (strtolower($_POST["UseSecureCon"]) != "no") {
+ $_POST["SMTPSecure"] = $_POST["UseSecureCon"];
+ }
+ if ($_POST['UseSecureCon'] == 'ssl') {
+ $_POST['MESS_SERVER'] = 'ssl://'.$_POST['MESS_SERVER'];
+ }
+ $resp = $this->sendTestMail();
+ if ($resp->status == '1') {
+ $this->success=true;
+ } else {
+ $this->success=false;
+ $this->msg=$smtp->error['error'];
+ }
+ } catch (Exception $e) {
+ $this->success = false;
+ $this->msg = $e->getMessage();
+ }
+ } else {
+ $this->success=true;
+ $this->msg='jump this step';
+ }
+ break;
+ }
+ }
+
+ /**
+ * for send email configuration
+ * @autor Alvaro
+ */
+ public function sendTestMail()
+ {
+ global $G_PUBLISH;
+ G::LoadClass("system");
+ G::LoadClass('spool');
+
+ $sFrom = ($_POST['FROM_NAME'] != '' ? $_POST['FROM_NAME'] . ' ' : '') . '<' . $_POST['FROM_EMAIL'] . '>';
+ $sSubject = G::LoadTranslation('ID_MESS_TEST_SUBJECT');
+ $msg = G::LoadTranslation('ID_MESS_TEST_BODY');
+
+ switch ($_POST['MESS_ENGINE']) {
+ case 'MAIL':
+ $engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_1');
+ break;
+ case 'PHPMAILER':
+ $engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_2');
+ break;
+ case 'OPENMAIL':
+ $engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_3');
+ break;
+ }
+
+ $sBodyPre = new TemplatePower(PATH_TPL . 'admin' . PATH_SEP . 'email.tpl');
+ $sBodyPre->prepare();
+ $sBodyPre->assign('server', $_SERVER['SERVER_NAME']);
+ $sBodyPre->assign('date', date('H:i:s'));
+ $sBodyPre->assign('ver', System::getVersion());
+ $sBodyPre->assign('engine', $engine);
+ $sBodyPre->assign('msg', $msg);
+ $sBody = $sBodyPre->getOutputContent();
+
+ $oSpool = new spoolRun();
+ $oSpool->setConfig(
+ array(
+ 'MESS_ENGINE' => $_POST['MESS_ENGINE'],
+ 'MESS_SERVER' => $_POST['MESS_SERVER'],
+ 'MESS_PORT' => $_POST['MESS_PORT'],
+ 'MESS_ACCOUNT' => $_POST['MESS_ACCOUNT'],
+ 'MESS_PASSWORD' => $_POST['MESS_PASSWORD'],
+ 'SMTPAuth' => $_POST['SMTPAuth'],
+ 'SMTPSecure' => isset($_POST['SMTPSecure'])?$_POST['SMTPSecure']:'none'
+ )
);
- $this->success='true';
- $this->msg='Saved';
- }
- else {
- $oConfiguration->create(
- array(
- 'CFG_UID' => 'Emails',
- 'OBJ_UID' => '',
- 'CFG_VALUE' => serialize($aFields),
- 'PRO_UID' => '',
- 'USR_UID' => '',
- 'APP_UID' => ''
- )
+
+ $oSpool->create(
+ array(
+ 'msg_uid' => '',
+ 'app_uid' => '',
+ 'del_index' => 0,
+ 'app_msg_type' => 'TEST',
+ 'app_msg_subject' => $sSubject,
+ 'app_msg_from' => $sFrom,
+ 'app_msg_to' => $_POST['TO'],
+ 'app_msg_body' => $sBody,
+ 'app_msg_cc' => '',
+ 'app_msg_bcc' => '',
+ 'app_msg_attach' => '',
+ 'app_msg_template' => '',
+ 'app_msg_status' => 'pending',
+ 'app_msg_attach'=>'' // Added By Ankit
+ )
);
- $this->success='true';
- $this->msg='Saved';
- }
- }
- catch (Exception $e) {
- $this->success= false;
- $this->msg = $e->getMessage();
- }
- }
- /**
- * loadFields for email configuration
- * @autor Alvaro
- */
- public function loadFields() {
+ $oSpool->sendMail();
+ $G_PUBLISH = new Publisher();
- G::loadClass('configuration');
-
- $oConfiguration = new Configurations();
- $oConfiguration->loadConfig($x, 'Emails','','','','');
- $fields = $oConfiguration->aConfig;
- if (count($fields) > 0) {
- $this->success = (count($fields) > 0);
- $passwd = $fields['MESS_PASSWORD'];
- $passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
- $auxPass = explode('hash:', $passwdDec);
- if (count($auxPass) > 1) {
- if (count($auxPass) == 2) {
- $passwd = $auxPass[1];
- } else {
- array_shift($auxPass);
- $passwd = implode('', $auxPass);
- }
- }
- $fields['MESS_PASSWORD'] = $passwd;
- }
- $this->data = $fields;
- }
-
- /**
- * get List Image
- * @param type $httpData
- */
- public function getListImage($httpData)
- {
- G::LoadClass('replacementLogo');
- $uplogo = PATH_TPL . 'setup' . PATH_SEP . 'uplogo.html';
- $width = "100%";
- $upload = new replacementLogo();
- $aPhotoSelect = $upload->getNameLogo($_SESSION['USER_LOGGED']);
- $sPhotoSelect = trim($aPhotoSelect['DEFAULT_LOGO_NAME']);
- $check = '';
- $ainfoSite = explode("/",$_SERVER["REQUEST_URI"]);
- $dir = PATH_DATA . "sites" . PATH_SEP . str_replace("sys", "", $ainfoSite[1]) . PATH_SEP . "files/logos";
- G::mk_dir ( $dir );
- $i = 0;
- $images = array();
- /** if we have at least one image it's load */
- if (file_exists($dir)) {
- if ($handle = opendir($dir)) {
- while (false !== ($file = readdir($handle))) {
- if (($file != ".") && ($file != "..")) {
- $extention = explode(".", $file);
- $aImageProp = getimagesize($dir . '/' . $file, $info);
- $sfileExtention = strtoupper($extention[count($extention)-1]);
-
- if( in_array($sfileExtention, array('JPG', 'JPEG', 'PNG', 'GIF') ) ) {
-
- $check = (!strcmp($file, $sPhotoSelect)) ? '/images/toadd.png' : '/images/delete.png';
- $onclick = (strcmp($file, $sPhotoSelect)) ? "onclick ='deleteLogo(\" $file \");return false;'" : '';
-
- if ($i == 0) {
- $i++;
- }
- $i++;
- $images[] = array(
- 'name' => $file,
- 'size' => '0',
- 'lastmod' => '32',
- 'url' => "../adminProxy/showLogoFile?id=".base64_encode($file),
- 'thumb_url' => "../adminProxy/showLogoFile?id=".base64_encode($file)
- );
- }
- }
+ if ($oSpool->status == 'sent') {
+ $o->status = true;
+ $o->success = true;
+ $o->msg = G::LoadTranslation('ID_MAIL_TEST_SUCCESS');
+ } else {
+ $o->status = false;
+ $o->success = false;
+ $o->msg = $oSpool->error;
}
- closedir($handle);
- }
- }
- $o = array('images' => $images);
- echo G::json_encode($o);
- exit();
- }
- /**
- * Change Name logo
- * @param type $snameLogo
- * @return type $snameLogo
- */
- function changeNamelogo($snameLogo)
- {
- $snameLogo = preg_replace("/[áàâãª]/", "a", $snameLogo);
- $snameLogo = preg_replace("/[ÁÀÂÃ]/", "A", $snameLogo);
- $snameLogo = preg_replace("/[ÍÌÎ]/", "I", $snameLogo);
- $snameLogo = preg_replace("/[íìî]/", "i", $snameLogo);
- $snameLogo = preg_replace("/[éèê]/", "e", $snameLogo);
- $snameLogo = preg_replace("/[ÉÈÊ]/", "E", $snameLogo);
- $snameLogo = preg_replace("/[óòôõº]/", "o", $snameLogo);
- $snameLogo = preg_replace("/[ÓÒÔÕ]/", "O", $snameLogo);
- $snameLogo = preg_replace("/[úùû]/", "u", $snameLogo);
- $snameLogo = preg_replace("/[ÚÙÛ]/", "U", $snameLogo);
- $snameLogo = str_replace( "ç", "c", $snameLogo);
- $snameLogo = str_replace( "Ç", "C", $snameLogo);
- $snameLogo = str_replace( "[ñ]", "n", $snameLogo);
- $snameLogo = str_replace( "[Ñ]", "N", $snameLogo);
- return ($snameLogo);
- }
- /**
- * Create Thumb
- * @param type $img_file
- * @param type $ori_path
- * @param type $thumb_path
- * @param type $img_type
- */
- function createThumb($img_file, $ori_path, $thumb_path, $img_type)
- {
- $path = $ori_path;
- $img = $path.$img_file;
- switch ($img_type) {
- case "image/jpeg":
- $img_src = @imagecreatefromjpeg($img);
- break;
- case "image/pjpeg":
- $img_src = @imagecreatefromjpeg($img);
- break;
- case "image/png":
- $img_src = @imagecreatefrompng($img);
- break;
- case "image/x-png":
- $img_src = @imagecreatefrompng($img);
- break;
- case "image/gif":
- $img_src = @imagecreatefromgif($img);
- break;
- }
- $img_width = imagesx($img_src);
- $img_height = imagesy($img_src);
- $square_size = 100;
- // check width, height, or square
- if ($img_width == $img_height) {
- // square
- $tmp_width = $square_size;
- $tmp_height = $square_size;
- } else if ($img_height < $img_width) {
- // wide
- $tmp_height = $square_size;
- $tmp_width = intval(($img_width / $img_height) * $square_size);
- if ($tmp_width % 2 != 0) {
- $tmp_width++;
- }
- } else if ($img_height > $img_width) {
- $tmp_width = $square_size;
- $tmp_height = intval(($img_height / $img_width) * $square_size);
- if (($tmp_height % 2) != 0) {
- $tmp_height++;
- }
- }
- $img_new = imagecreatetruecolor($tmp_width, $tmp_height);
- imagecopyresampled($img_new, $img_src, 0, 0, 0, 0,
- $tmp_width, $tmp_height, $img_width, $img_height);
-
- // create temporary thumbnail and locate on the server
- $thumb = $thumb_path."thumb_".$img_file;
- switch ($img_type) {
- case "image/jpeg":
- imagejpeg($img_new, $thumb);
- break;
- case "image/pjpeg":
- imagejpeg($img_new, $thumb);
- break;
- case "image/png":
- imagepng($img_new, $thumb);
- break;
- case "image/x-png":
- imagepng($img_new, $thumb);
- break;
- case "image/gif":
- imagegif($img_new, $thumb);
- break;
+ return $o;
}
- // get tmp_image
- switch ($img_type) {
- case "image/jpeg":
- $img_thumb_square = imagecreatefromjpeg($thumb);
- break;
- case "image/pjpeg":
- $img_thumb_square = imagecreatefromjpeg($thumb);
- break;
- case "image/png":
- $img_thumb_square = imagecreatefrompng($thumb);
- break;
- case "image/x-png":
- $img_thumb_square = imagecreatefrompng($thumb);
- break;
- case "image/gif":
- $img_thumb_square = imagecreatefromgif($thumb);
- break;
+ /**
+ * getting Save email configuration
+ * @autor Alvaro
+ */
+ public function saveConfiguration()
+ {
+ require_once 'classes/model/Configuration.php';
+ try {
+ $oConfiguration = new Configuration();
+ $aFields['MESS_PASSWORD'] = $_POST['passwd'];
+
+ if ($_POST['passwdHide'] != '') {
+ $aFields['MESS_PASSWORD'] = $_POST['passwdHide'];
+ }
+
+ $aFields['MESS_PASSWORD_HIDDEN'] = '';
+ $passwd = $aFields['MESS_PASSWORD'];
+ $passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
+ $auxPass = explode('hash:', $passwdDec);
+ if (count($auxPass) > 1) {
+ if (count($auxPass) == 2) {
+ $passwd = $auxPass[1];
+ } else {
+ array_shift($auxPass);
+ $passwd = implode('', $auxPass);
+ }
+ }
+ $aFields['MESS_PASSWORD'] = $passwd;
+
+ if ($aFields['MESS_PASSWORD'] != '') {
+ $aFields['MESS_PASSWORD'] = 'hash:'.$aFields['MESS_PASSWORD'];
+ $aFields['MESS_PASSWORD'] = G::encrypt($aFields['MESS_PASSWORD'],'EMAILENCRYPT');
+ }
+
+ $aFields['MESS_ENABLED'] = isset($_POST['EnableEmailNotifications']) ? $_POST['EnableEmailNotifications'] : '';
+ $aFields['MESS_ENABLED'] = ($aFields['MESS_ENABLED'] == 'true') ? '1' : $aFields['MESS_ENABLED'];
+ $aFields['MESS_ENGINE'] = $_POST['EmailEngine'];
+ $aFields['MESS_SERVER'] = trim($_POST['server']);
+ $aFields['MESS_RAUTH'] = isset($_POST['req_auth']) ? $_POST['req_auth'] : '';
+ $aFields['MESS_RAUTH'] = ($aFields['MESS_RAUTH'] == 'true') ? '1' : $aFields['MESS_RAUTH'];
+ $aFields['MESS_PORT'] = $_POST['port'];
+ $aFields['MESS_ACCOUNT'] = $_POST['from'];
+ $aFields['MESS_BACKGROUND'] = '';//isset($_POST['background']) ? $_POST['background'] : '';
+ $aFields['MESS_EXECUTE_EVERY'] = '';//$_POST['form']['MESS_EXECUTE_EVERY'];
+ $aFields['MESS_SEND_MAX'] = '';//$_POST['form']['MESS_SEND_MAX'];
+ $aFields['SMTPSecure'] = $_POST['UseSecureCon'];
+ $aFields['SMTPSecure'] = ($aFields['SMTPSecure'] == 'No') ? 'none' : $aFields['SMTPSecure'];
+ $aFields['MAIL_TO'] = $_POST['eMailto'];
+ $aFields['MESS_TRY_SEND_INMEDIATLY'] = $_POST['SendaTestMail'];//isset($_POST['form']['MESS_TRY_SEND_INMEDIATLY']) ? $_POST['form']['MESS_TRY_SEND_INMEDIATLY'] : '';
+ $aFields['MESS_TRY_SEND_INMEDIATLY'] = ($aFields['MESS_TRY_SEND_INMEDIATLY'] == 'true') ? '1' : $aFields['MESS_TRY_SEND_INMEDIATLY'];
+ $CfgUid='Emails';
+ $ObjUid='';
+ $ProUid='';
+ $UsrUid='';
+ $AppUid='';
+
+ if ($oConfiguration->exists($CfgUid, $ObjUid, $ProUid, $UsrUid, $AppUid)) {
+ $oConfiguration->update(
+ array (
+ 'CFG_UID' => 'Emails',
+ 'OBJ_UID' => '',
+ 'CFG_VALUE' => serialize($aFields),
+ 'PRO_UID' => '',
+ 'USR_UID' => '',
+ 'APP_UID' => ''
+ )
+ );
+ $this->success='true';
+ $this->msg='Saved';
+ } else {
+ $oConfiguration->create(
+ array(
+ 'CFG_UID' => 'Emails',
+ 'OBJ_UID' => '',
+ 'CFG_VALUE' => serialize($aFields),
+ 'PRO_UID' => '',
+ 'USR_UID' => '',
+ 'APP_UID' => ''
+ )
+ );
+ $this->success='true';
+ $this->msg='Saved';
+ }
+ } catch (Exception $e) {
+ $this->success= false;
+ $this->msg = $e->getMessage();
+ }
}
- $thumb_width = imagesx($img_thumb_square);
- $thumb_height = imagesy($img_thumb_square);
+ /**
+ * loadFields for email configuration
+ * @autor Alvaro
+ */
+ public function loadFields()
+ {
+ G::loadClass('configuration');
- if ($thumb_height < $thumb_width) {
- // wide
- $x_src = ($thumb_width - $square_size) / 2;
- $y_src = 0;
- $img_final = imagecreatetruecolor($square_size, $square_size);
- imagecopy($img_final, $img_thumb_square, 0, 0,
- $x_src, $y_src, $square_size, $square_size);
- }
- else if ($thumb_height > $thumb_width) {
- // landscape
- $x_src = 0;
- $y_src = ($thumb_height - $square_size) / 2;
- $img_final = imagecreatetruecolor($square_size, $square_size);
- imagecopy($img_final, $img_thumb_square, 0, 0,
- $x_src, $y_src, $square_size, $square_size);
- }
- else {
- $img_final = imagecreatetruecolor($square_size, $square_size);
- imagecopy($img_final, $img_thumb_square, 0, 0,
- 0, 0, $square_size, $square_size);
+ $oConfiguration = new Configurations();
+ $oConfiguration->loadConfig($x, 'Emails','','','','');
+ $fields = $oConfiguration->aConfig;
+ if (count($fields) > 0) {
+ $this->success = (count($fields) > 0);
+ $passwd = $fields['MESS_PASSWORD'];
+ $passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
+ $auxPass = explode('hash:', $passwdDec);
+ if (count($auxPass) > 1) {
+ if (count($auxPass) == 2) {
+ $passwd = $auxPass[1];
+ } else {
+ array_shift($auxPass);
+ $passwd = implode('', $auxPass);
+ }
+ }
+ $fields['MESS_PASSWORD'] = $passwd;
+ }
+ $this->data = $fields;
}
- switch ($img_type) {
- case "image/jpeg":
- @imagejpeg($img_final, $thumb);
- break;
- case "image/pjpeg":
- @imagejpeg($img_final, $thumb);
- break;
- case "image/png":
- @imagepng($img_final, $thumb);
- break;
- case "image/x-png":
- @imagepng($img_final, $thumb);
- break;
- case "image/gif":
- @imagegif($img_final, $thumb);
- break;
+ /**
+ * get List Image
+ * @param type $httpData
+ */
+ public function getListImage($httpData)
+ {
+ G::LoadClass('replacementLogo');
+ $uplogo = PATH_TPL . 'setup' . PATH_SEP . 'uplogo.html';
+ $width = "100%";
+ $upload = new replacementLogo();
+ $aPhotoSelect = $upload->getNameLogo($_SESSION['USER_LOGGED']);
+ $sPhotoSelect = trim($aPhotoSelect['DEFAULT_LOGO_NAME']);
+ $check = '';
+ $ainfoSite = explode("/",$_SERVER["REQUEST_URI"]);
+ $dir = PATH_DATA . "sites" . PATH_SEP . str_replace("sys", "", $ainfoSite[1]) . PATH_SEP . "files/logos";
+ G::mk_dir ( $dir );
+ $i = 0;
+ $images = array();
+
+ /** if we have at least one image it's load */
+ if (file_exists($dir)) {
+ if ($handle = opendir($dir)) {
+ while (false !== ($file = readdir($handle))) {
+ if (($file != ".") && ($file != "..")) {
+ $extention = explode(".", $file);
+ $aImageProp = getimagesize($dir . '/' . $file, $info);
+ $sfileExtention = strtoupper($extention[count($extention)-1]);
+ if ( in_array($sfileExtention, array('JPG', 'JPEG', 'PNG', 'GIF') ) ) {
+ $check = (!strcmp($file, $sPhotoSelect)) ? '/images/toadd.png' : '/images/delete.png';
+ $onclick = (strcmp($file, $sPhotoSelect)) ? "onclick ='deleteLogo(\" $file \");return false;'" : '';
+ if ($i == 0) {
+ $i++;
+ }
+ $i++;
+ $images[] = array(
+ 'name' => $file,
+ 'size' => '0',
+ 'lastmod' => '32',
+ 'url' => "../adminProxy/showLogoFile?id=".base64_encode($file),
+ 'thumb_url' => "../adminProxy/showLogoFile?id=".base64_encode($file)
+ );
+ }
+ }
+ }
+ closedir($handle);
+ }
+ }
+ $o = array('images' => $images);
+ echo G::json_encode($o);
+ exit();
}
- }
- /**
- * Upload Image
- * @global type $_FILES
- */
- function uploadImage()
- {
- //!dataSystem
- $ainfoSite = explode("/", $_SERVER["REQUEST_URI"]);
- $dir = PATH_DATA."sites".PATH_SEP.str_replace("sys","",$ainfoSite[1]).PATH_SEP."files/logos";
- global $_FILES;
+ /**
+ * Change Name logo
+ * @param type $snameLogo
+ * @return type $snameLogo
+ */
+ public function changeNamelogo($snameLogo)
+ {
+ $snameLogo = preg_replace("/[áàâãª]/", "a", $snameLogo);
+ $snameLogo = preg_replace("/[ÁÀÂÃ]/", "A", $snameLogo);
+ $snameLogo = preg_replace("/[ÍÌÎ]/", "I", $snameLogo);
+ $snameLogo = preg_replace("/[íìî]/", "i", $snameLogo);
+ $snameLogo = preg_replace("/[éèê]/", "e", $snameLogo);
+ $snameLogo = preg_replace("/[ÉÈÊ]/", "E", $snameLogo);
+ $snameLogo = preg_replace("/[óòôõº]/", "o", $snameLogo);
+ $snameLogo = preg_replace("/[ÓÒÔÕ]/", "O", $snameLogo);
+ $snameLogo = preg_replace("/[úùû]/", "u", $snameLogo);
+ $snameLogo = preg_replace("/[ÚÙÛ]/", "U", $snameLogo);
+ $snameLogo = str_replace( "ç", "c", $snameLogo);
+ $snameLogo = str_replace( "Ç", "C", $snameLogo);
+ $snameLogo = str_replace( "[ñ]", "n", $snameLogo);
+ $snameLogo = str_replace( "[Ñ]", "N", $snameLogo);
+ return ($snameLogo);
+ }
- //| 0-> non fail
- //| 1-> fail in de type of the image
- //| 2-> fail in de size of the image
- //| 3-> fail in de myme of the image
- $failed = 0;
- //!dataSystem
+ /**
+ * Create Thumb
+ * @param type $img_file
+ * @param type $ori_path
+ * @param type $thumb_path
+ * @param type $img_type
+ */
+ public function createThumb($img_file, $ori_path, $thumb_path, $img_type)
+ {
+ $path = $ori_path;
+ $img = $path.$img_file;
+ switch ($img_type) {
+ case "image/jpeg":
+ $img_src = @imagecreatefromjpeg($img);
+ break;
+ case "image/pjpeg":
+ $img_src = @imagecreatefromjpeg($img);
+ break;
+ case "image/png":
+ $img_src = @imagecreatefrompng($img);
+ break;
+ case "image/x-png":
+ $img_src = @imagecreatefrompng($img);
+ break;
+ case "image/gif":
+ $img_src = @imagecreatefromgif($img);
+ break;
+ }
+ $img_width = imagesx($img_src);
+ $img_height = imagesy($img_src);
+ $square_size = 100;
+ // check width, height, or square
+ if ($img_width == $img_height) {
+ // square
+ $tmp_width = $square_size;
+ $tmp_height = $square_size;
+ } elseif ($img_height < $img_width) {
+ // wide
+ $tmp_height = $square_size;
+ $tmp_width = intval(($img_width / $img_height) * $square_size);
+ if ($tmp_width % 2 != 0) {
+ $tmp_width++;
+ }
+ } elseif ($img_height > $img_width) {
+ $tmp_width = $square_size;
+ $tmp_height = intval(($img_height / $img_width) * $square_size);
+ if (($tmp_height % 2) != 0) {
+ $tmp_height++;
+ }
+ }
+ $img_new = imagecreatetruecolor($tmp_width, $tmp_height);
+ imagecopyresampled($img_new, $img_src, 0, 0, 0, 0,
+ $tmp_width, $tmp_height, $img_width, $img_height);
- $ori_dir = $dir . '/img/ori/';
- $thumb_dir = $dir . '/img/thumbs/';
+ // create temporary thumbnail and locate on the server
+ $thumb = $thumb_path."thumb_".$img_file;
+ switch ($img_type) {
+ case "image/jpeg":
+ imagejpeg($img_new, $thumb);
+ break;
+ case "image/pjpeg":
+ imagejpeg($img_new, $thumb);
+ break;
+ case "image/png":
+ imagepng($img_new, $thumb);
+ break;
+ case "image/x-png":
+ imagepng($img_new, $thumb);
+ break;
+ case "image/gif":
+ imagegif($img_new, $thumb);
+ break;
+ }
- $allowedType = array(
- 'image/jpg', 'image/jpeg', 'image/pjpeg', 'image/gif', 'image/png', 'image/x-png'
- );
- $allowedTypeArray['index' . base64_encode('image/jpg')] = IMAGETYPE_JPEG;
- $allowedTypeArray['index' . base64_encode('image/jpeg')] = IMAGETYPE_JPEG;
- $allowedTypeArray['index' . base64_encode('image/pjpeg')] = IMAGETYPE_JPEG;
- $allowedTypeArray['index' . base64_encode('image/gif')] = IMAGETYPE_GIF;
- $allowedTypeArray['index' . base64_encode('image/png')] = IMAGETYPE_PNG;
- $allowedTypeArray['index' . base64_encode('image/x-png')] = IMAGETYPE_PNG;
+ // get tmp_image
+ switch ($img_type) {
+ case "image/jpeg":
+ $img_thumb_square = imagecreatefromjpeg($thumb);
+ break;
+ case "image/pjpeg":
+ $img_thumb_square = imagecreatefromjpeg($thumb);
+ break;
+ case "image/png":
+ $img_thumb_square = imagecreatefrompng($thumb);
+ break;
+ case "image/x-png":
+ $img_thumb_square = imagecreatefrompng($thumb);
+ break;
+ case "image/gif":
+ $img_thumb_square = imagecreatefromgif($thumb);
+ break;
+ }
+ $thumb_width = imagesx($img_thumb_square);
+ $thumb_height = imagesy($img_thumb_square);
+ if ($thumb_height < $thumb_width) {
+ // wide
+ $x_src = ($thumb_width - $square_size) / 2;
+ $y_src = 0;
+ $img_final = imagecreatetruecolor($square_size, $square_size);
+ imagecopy($img_final, $img_thumb_square, 0, 0,
+ $x_src, $y_src, $square_size, $square_size);
+ } elseif ($thumb_height > $thumb_width) {
+ // landscape
+ $x_src = 0;
+ $y_src = ($thumb_height - $square_size) / 2;
+ $img_final = imagecreatetruecolor($square_size, $square_size);
+ imagecopy($img_final, $img_thumb_square, 0, 0,
+ $x_src, $y_src, $square_size, $square_size);
+ } else {
+ $img_final = imagecreatetruecolor($square_size, $square_size);
+ imagecopy($img_final, $img_thumb_square, 0, 0,
+ 0, 0, $square_size, $square_size);
+ }
- $uploaded = 0;
- $failed = 0;
+ switch ($img_type) {
+ case "image/jpeg":
+ @imagejpeg($img_final, $thumb);
+ break;
+ case "image/pjpeg":
+ @imagejpeg($img_final, $thumb);
+ break;
+ case "image/png":
+ @imagepng($img_final, $thumb);
+ break;
+ case "image/x-png":
+ @imagepng($img_final, $thumb);
+ break;
+ case "image/gif":
+ @imagegif($img_final, $thumb);
+ break;
+ }
+ }
- if (in_array($_FILES['img']['type'], $allowedType)) {
- // max upload file is 500 KB
- if ($_FILES['img']['size'] <= 500000) {
+ /**
+ * Upload Image
+ * @global type $_FILES
+ */
+ public function uploadImage()
+ {
+ //!dataSystem
+ $ainfoSite = explode("/", $_SERVER["REQUEST_URI"]);
+ $dir = PATH_DATA."sites".PATH_SEP.str_replace("sys","",$ainfoSite[1]).PATH_SEP."files/logos";
+ global $_FILES;
- $formf = $_FILES['img'];
- $namefile = $formf['name'];
- $typefile = $formf['type'];
- $errorfile = $formf['error'];
- $tmpFile = $formf['tmp_name'];
- $aMessage1 = array();
- $fileName = trim(str_replace(' ', '_', $namefile));
- $fileName = self::changeNamelogo($fileName);
+ //| 0-> non fail
+ //| 1-> fail in de type of the image
+ //| 2-> fail in de size of the image
+ //| 3-> fail in de myme of the image
+ $failed = 0;
+ //!dataSystem
- G::uploadFile($tmpFile, $dir, 'tmp' . $fileName);
+ $ori_dir = $dir . '/img/ori/';
+ $thumb_dir = $dir . '/img/thumbs/';
+
+ $allowedType = array(
+ 'image/jpg', 'image/jpeg', 'image/pjpeg', 'image/gif', 'image/png', 'image/x-png'
+ );
+ $allowedTypeArray['index' . base64_encode('image/jpg')] = IMAGETYPE_JPEG;
+ $allowedTypeArray['index' . base64_encode('image/jpeg')] = IMAGETYPE_JPEG;
+ $allowedTypeArray['index' . base64_encode('image/pjpeg')] = IMAGETYPE_JPEG;
+ $allowedTypeArray['index' . base64_encode('image/gif')] = IMAGETYPE_GIF;
+ $allowedTypeArray['index' . base64_encode('image/png')] = IMAGETYPE_PNG;
+ $allowedTypeArray['index' . base64_encode('image/x-png')] = IMAGETYPE_PNG;
+
+ $uploaded = 0;
+ $failed = 0;
+
+ if (in_array($_FILES['img']['type'], $allowedType)) {
+ // max upload file is 500 KB
+ if ($_FILES['img']['size'] <= 500000) {
+ $formf = $_FILES['img'];
+ $namefile = $formf['name'];
+ $typefile = $formf['type'];
+ $errorfile = $formf['error'];
+ $tmpFile = $formf['tmp_name'];
+ $aMessage1 = array();
+ $fileName = trim(str_replace(' ', '_', $namefile));
+ $fileName = self::changeNamelogo($fileName);
+ G::uploadFile($tmpFile, $dir, 'tmp' . $fileName);
+ try {
+ if (extension_loaded('exif')) {
+ $typeMime = exif_imagetype($dir . '/'. 'tmp'.$fileName);
+ } else {
+ $arrayInfo = getimagesize($dir . '/' . 'tmp' . $fileName);
+ $typeMime = $arrayInfo[2];
+ }
+ if ($typeMime == $allowedTypeArray['index' . base64_encode($_FILES['img']['type'])]) {
+ $error = false;
+ try {
+ list($imageWidth, $imageHeight, $imageType) = @getimagesize($dir . '/' . 'tmp' . $fileName);
+ G::resizeImage($dir . '/tmp' . $fileName, $imageWidth, 49, $dir . '/' . $fileName);
+ } catch (Exception $e) {
+ $error = $e->getMessage();
+ }
+ $uploaded++;
+ } else {
+ $failed = "3";
+ }
+ unlink ($dir . '/tmp' . $fileName);
+ } catch (Exception $e) {
+ $failed = "3";
+ }
+ } else {
+ $failed = "2";
+ }
+ } elseif ($_FILES['img']['type'] != '') {
+ $failed = "1";
+ }
+
+ echo '{success: true, failed: ' . $failed . ', uploaded: ' . $uploaded . ', type: "' . $_FILES['img']['type'] . '"}';
+ exit();
+ }
+
+ /**
+ * Get Name Current Logo
+ * @return type
+ */
+ public function getNameCurrentLogo()
+ {
+ G::LoadClass('replacementLogo');
+ $upload = new replacementLogo();
+ $aPhotoSelect = $upload->getNameLogo($_SESSION['USER_LOGGED']);
+ $sPhotoSelect = trim($aPhotoSelect['DEFAULT_LOGO_NAME']);
+ return $sPhotoSelect;
+ }
+
+ /**
+ * compare Name Current Logo
+ * @param type $selectLogo
+ * @return type int value
+ */
+ public function isCurrentLogo()
+ {
+ $arrayImg = explode(";", $_POST['selectLogo']);
+ foreach ($arrayImg as $imgname) {
+ if ($imgname != "") {
+ if ( strcmp($imgname, self::getNameCurrentLogo()) == 0 ) {
+ echo '{success: true}';
+ exit();
+ }
+ }
+ }
+ echo '{success: false}';
+ exit();
+ }
+
+ /**
+ *
+ * Delete Image from the list
+ * @param
+ * @return string '{success: true | false}'
+ */
+ public function deleteImage()
+ {
+ //!dataSystem
+ $ainfoSite = explode("/", $_SERVER["REQUEST_URI"]);
+ $dir = PATH_DATA . "sites" . PATH_SEP . str_replace("sys", "", $ainfoSite[1]) . PATH_SEP . "files/logos";
+ global $_FILES;
+ //!dataSystem
+
+ $dir = $dir;
+ $dir_thumbs = $dir;
+
+ $arrayImg = explode(";", $_POST['images']);
+ foreach ($arrayImg as $imgname) {
+ if ($imgname != "") {
+ if ( strcmp($imgname, self::getNameCurrentLogo()) != 0 ) {
+ if (file_exists($dir . '/' . $imgname)) {
+ unlink ($dir . '/' . $imgname);
+ }
+ if (file_exists($dir . '/tmp' . $imgname)) {
+ unlink ($dir . '/tmp' . $imgname);
+ }
+ } else {
+ echo '{success: false}';
+ exit();
+ }
+ }
+ }
+ echo '{success: true}';
+ exit();
+ }
+
+ /**
+ * Replacement Logo
+ * @global type $_REQUEST
+ * @global type $RBAC
+ */
+ public function replacementLogo()
+ {
+ global $_REQUEST;
+ $sfunction = $_REQUEST['nameFunction'];
+ $_GET['NAMELOGO'] = $_REQUEST['NAMELOGO'];
try {
- if (extension_loaded('exif')) {
- $typeMime = exif_imagetype($dir . '/'. 'tmp'.$fileName);
- }
- else {
- $arrayInfo = getimagesize($dir . '/' . 'tmp' . $fileName);
- $typeMime = $arrayInfo[2];
- }
-
- if ($typeMime == $allowedTypeArray['index' . base64_encode($_FILES['img']['type'])]) {
- $error = false;
- try {
- list($imageWidth, $imageHeight, $imageType) = @getimagesize($dir . '/' . 'tmp' . $fileName);
- G::resizeImage($dir . '/tmp' . $fileName, $imageWidth, 49, $dir . '/' . $fileName);
+ global $RBAC;
+ switch ($RBAC->userCanAccess('PM_LOGIN')) {
+ case -2:
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
+ G::header('location: ../login/login');
+ die;
+ break;
+ case -1:
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
+ G::header('location: ../login/login');
+ die;
+ break;
}
- catch (Exception $e) {
- $error = $e->getMessage();
+
+ switch ($sfunction) {
+ case 'replacementLogo':
+ $snameLogo = urldecode($_GET['NAMELOGO']);
+ $snameLogo = trim($snameLogo);
+ $snameLogo = self::changeNamelogo($snameLogo);
+ G::loadClass('configuration');
+ $oConf = new Configurations;
+ $aConf = Array(
+ 'WORKSPACE_LOGO_NAME' => SYS_SYS,
+ 'DEFAULT_LOGO_NAME' => $snameLogo
+ );
+
+ $oConf->aConfig = $aConf;
+ $oConf->saveConfig('USER_LOGO_REPLACEMENT', '', '', '');
+
+ G::SendTemporalMessage('ID_REPLACED_LOGO', 'tmp-info', 'labels');
+ break;
+ case 'restoreLogo':
+ $snameLogo = $_GET['NAMELOGO'];
+ G::loadClass('configuration');
+ $oConf = new Configurations;
+ $aConf = Array(
+ 'WORKSPACE_LOGO_NAME' => '',
+ 'DEFAULT_LOGO_NAME' => ''
+ );
+
+ $oConf->aConfig = $aConf;
+ $oConf->saveConfig('USER_LOGO_REPLACEMENT', '', '', '');
+
+ G::SendTemporalMessage('ID_REPLACED_LOGO', 'tmp-info', 'labels');
+ break;
}
- $uploaded++;
- }
- else {
- $failed = "3";
- }
- unlink ($dir . '/tmp' . $fileName);
+ } catch (Exception $oException) {
+ die($oException->getMessage());
}
- catch (Exception $e) {
- $failed = "3";
+ exit();
+ }
+
+ /**
+ * Show Logo
+ * @param type $imagen
+ */
+ public function showLogo($imagen)
+ {
+ $info = @getimagesize($imagen);
+ $fp = fopen($imagen, "rb");
+ if ($info && $fp) {
+ header("Content-type: {$info['mime']}");
+ fpassthru($fp);
+ exit;
+ } else {
+ throw new Exception("Image format not valid");
}
- }
- else {
- $failed = "2";
- }
- }
- else if ($_FILES['img']['type'] != '') {
- $failed = "1";
}
- echo '{success: true, failed: ' . $failed . ', uploaded: ' . $uploaded . ', type: "' . $_FILES['img']['type'] . '"}';
- exit();
- }
-
- /**
- * Get Name Current Logo
- * @return type
- */
- function getNameCurrentLogo()
- {
- G::LoadClass('replacementLogo');
- $upload = new replacementLogo();
- $aPhotoSelect = $upload->getNameLogo($_SESSION['USER_LOGGED']);
- $sPhotoSelect = trim($aPhotoSelect['DEFAULT_LOGO_NAME']);
- return $sPhotoSelect;
- }
-
- /**
- * compare Name Current Logo
- * @param type $selectLogo
- * @return type int value
- */
- function isCurrentLogo()
- {
- $arrayImg = explode(";", $_POST['selectLogo']);
- foreach ($arrayImg as $imgname) {
- if ($imgname != "") {
- if( strcmp($imgname, self::getNameCurrentLogo()) == 0 ) {
- echo '{success: true}';
- exit();
- }
- }
- }
- echo '{success: false}';
- exit();
- }
-
- /**
- *
- * Delete Image from the list
- * @param
- * @return string '{success: true | false}'
- */
- function deleteImage()
- {
- //!dataSystem
- $ainfoSite = explode("/", $_SERVER["REQUEST_URI"]);
- $dir = PATH_DATA . "sites" . PATH_SEP . str_replace("sys", "", $ainfoSite[1]) . PATH_SEP . "files/logos";
- global $_FILES;
- //!dataSystem
-
- $dir = $dir;
- $dir_thumbs = $dir;
-
- $arrayImg = explode(";", $_POST['images']);
- foreach ($arrayImg as $imgname) {
- if ($imgname != "") {
- if( strcmp($imgname, self::getNameCurrentLogo()) != 0 ) {
- if(file_exists($dir . '/' . $imgname)) {
- unlink ($dir . '/' . $imgname);
- }
- if(file_exists($dir . '/tmp' . $imgname)) {
- unlink ($dir . '/tmp' . $imgname);
- }
- }
- else {
- echo '{success: false}';
- exit();
- }
- }
- }
- echo '{success: true}';
- exit();
- }
-
- /**
- * Replacement Logo
- * @global type $_REQUEST
- * @global type $RBAC
- */
- function replacementLogo()
- {
- global $_REQUEST;
- $sfunction = $_REQUEST['nameFunction'];
- $_GET['NAMELOGO'] = $_REQUEST['NAMELOGO'];
-
- try {//ini_set('display_errors','1');
- global $RBAC;
- switch ($RBAC->userCanAccess('PM_LOGIN')) {
- case -2:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- case -1:
- G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
- G::header('location: ../login/login');
- die;
- break;
- }
-
- switch ($sfunction) {
- case 'replacementLogo':
- $snameLogo = urldecode($_GET['NAMELOGO']);
- $snameLogo = trim($snameLogo);
- $snameLogo = self::changeNamelogo($snameLogo);
- G::loadClass('configuration');
- $oConf = new Configurations;
- $aConf = Array(
- 'WORKSPACE_LOGO_NAME' => SYS_SYS,
- 'DEFAULT_LOGO_NAME' => $snameLogo
- );
-
- $oConf->aConfig = $aConf;
- $oConf->saveConfig('USER_LOGO_REPLACEMENT', '', '', '');
-
- G::SendTemporalMessage('ID_REPLACED_LOGO', 'tmp-info', 'labels');
- break;
- case 'restoreLogo':
- $snameLogo = $_GET['NAMELOGO'];
- G::loadClass('configuration');
- $oConf = new Configurations;
- $aConf = Array(
- 'WORKSPACE_LOGO_NAME' => '',
- 'DEFAULT_LOGO_NAME' => ''
- );
-
- $oConf->aConfig = $aConf;
- $oConf->saveConfig('USER_LOGO_REPLACEMENT', '', '', '');
-
- G::SendTemporalMessage('ID_REPLACED_LOGO', 'tmp-info', 'labels');
- break;
- }
- }
- catch (Exception $oException) {
- die($oException->getMessage());
- }
- exit();
- }
-
- /**
- * Show Logo
- * @param type $imagen
- */
- function showLogo($imagen)
- {
- $info = @getimagesize($imagen);
- $fp = fopen($imagen, "rb");
- if ($info && $fp) {
- header("Content-type: {$info['mime']}");
- fpassthru($fp);
- exit;
- }
- else {
- throw new Exception("Image format not valid");
- }
- }
-
- /**
- * Copy More Logos
- * @param type $dir
- * @param type $newDir
- */
- function cpyMoreLogos($dir,$newDir)
- {
- if (file_exists($dir)) {
- if (($handle = opendir($dir))) {
- while (false !== ($file = readdir($handle))) {
- if (($file != ".") && ($file != "..")) {
- $extention = explode(".", $file);
- $aImageProp = getimagesize($dir . '/' . $file, $info);
- $sfileExtention = strtoupper($extention[count($extention)-1]);
- if ( in_array($sfileExtention, array('JPG', 'JPEG', 'PNG', 'GIF') ) ) {
-
- $dir1 = $dir . PATH_SEP . $file;
- $dir2 = $newDir . PATH_SEP . $file;
- copy($dir1, $dir2);
+ /**
+ * Copy More Logos
+ * @param type $dir
+ * @param type $newDir
+ */
+ public function cpyMoreLogos($dir, $newDir)
+ {
+ if (file_exists($dir)) {
+ if (($handle = opendir($dir))) {
+ while (false !== ($file = readdir($handle))) {
+ if (($file != ".") && ($file != "..")) {
+ $extention = explode(".", $file);
+ $aImageProp = getimagesize($dir . '/' . $file, $info);
+ $sfileExtention = strtoupper($extention[count($extention)-1]);
+ if ( in_array($sfileExtention, array('JPG', 'JPEG', 'PNG', 'GIF') ) ) {
+ $dir1 = $dir . PATH_SEP . $file;
+ $dir2 = $newDir . PATH_SEP . $file;
+ copy($dir1, $dir2);
+ }
+ }
+ }
+ closedir($handle);
}
- }
}
- closedir($handle);
- }
}
- }
- /**
- * Show Logo File
- */
- function showLogoFile()
- {
- $_GET['id'] = $_REQUEST['id'];
+ /**
+ * Show Logo File
+ */
+ public function showLogoFile()
+ {
+ $_GET['id'] = $_REQUEST['id'];
- $base64Id = base64_decode($_GET['id']);
- $ainfoSite = explode("/", $_SERVER["REQUEST_URI"]);
- $dir = PATH_DATA . "sites" . PATH_SEP.str_replace("sys", "", $ainfoSite[1]).PATH_SEP."files/logos";
- $imagen = $dir . PATH_SEP . $base64Id;
+ $base64Id = base64_decode($_GET['id']);
+ $ainfoSite = explode("/", $_SERVER["REQUEST_URI"]);
+ $dir = PATH_DATA . "sites" . PATH_SEP.str_replace("sys", "", $ainfoSite[1]).PATH_SEP."files/logos";
+ $imagen = $dir . PATH_SEP . $base64Id;
- if (is_file($imagen)) {
- self::showLogo($imagen);
- }
- else {
- $newDir = PATH_DATA . "sites" . PATH_SEP.str_replace("sys", "", $ainfoSite[1]).PATH_SEP."files/logos";
- $dir = PATH_HOME . "public_html/files/logos";
+ if (is_file($imagen)) {
+ self::showLogo($imagen);
+ } else {
+ $newDir = PATH_DATA . "sites" . PATH_SEP.str_replace("sys", "", $ainfoSite[1]).PATH_SEP."files/logos";
+ $dir = PATH_HOME . "public_html/files/logos";
- if (!is_dir($newDir)) {
- G::mk_dir($newDir);
+ if (!is_dir($newDir)) {
+ G::mk_dir($newDir);
+ }
+ $newDir .= PATH_SEP.$base64Id;
+ $dir .= PATH_SEP.$base64Id;
+ copy($dir,$newDir);
+ self::showLogo($newDir);
+ die;
}
- //this function does copy all logos from public_html/files/logos to /shared/site/yourSite/files/logos
- //cpyMoreLogos($dir,$newDir);
- $newDir .= PATH_SEP.$base64Id;
- $dir .= PATH_SEP.$base64Id;
- copy($dir,$newDir);
- self::showLogo($newDir);
die;
- }
- die;
- exit();
- }
-
+ exit();
+ }
}
+