diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index a9e8a030f..8bbad3544 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -5339,132 +5339,20 @@ class Cases $sBody2 = G::replaceDataGridField($sBody, $arrayData2, false); - switch ($aTask["TAS_ASSIGN_TYPE"]) { - case "SELF_SERVICE": - if ($swtplDefault == 1) { - G::verifyPath($pathEmail, true); //Create if it does not exist - $fileTemplate = $pathEmail . G::LoadTranslation('ID_UNASSIGNED_MESSAGE'); + $respTo = $this->getTo($aTask["TAS_ASSIGN_TYPE"], $aTask["TAS_UID"], $aTask["USR_UID"], $arrayData); + $sTo = $respTo['to']; + $sCc = $respTo['cc']; - if ((!file_exists($fileTemplate)) && file_exists(PATH_TPL . "mails" . PATH_SEP . G::LoadTranslation('ID_UNASSIGNED_MESSAGE'))) { - @copy(PATH_TPL . "mails" . PATH_SEP . G::LoadTranslation('ID_UNASSIGNED_MESSAGE'), $fileTemplate); - } - - $sBody2 = G::replaceDataField(file_get_contents($fileTemplate), $arrayData2); - } - - if (isset($aTask["TAS_UID"]) && !empty($aTask["TAS_UID"])) { - $arrayTaskUser = array(); - - $arrayAux1 = $task->getGroupsOfTask($aTask["TAS_UID"], 1); - - foreach ($arrayAux1 as $arrayGroup) { - $arrayAux2 = $group->getUsersOfGroup($arrayGroup["GRP_UID"]); - - foreach ($arrayAux2 as $arrayUser) { - $arrayTaskUser[] = $arrayUser["USR_UID"]; - } - } - - $arrayAux1 = $task->getUsersOfTask($aTask["TAS_UID"], 1); - - foreach ($arrayAux1 as $arrayUser) { - $arrayTaskUser[] = $arrayUser["USR_UID"]; - } - - $criteria = new Criteria("workflow"); - - $criteria->addSelectColumn(UsersPeer::USR_UID); - $criteria->addSelectColumn(UsersPeer::USR_USERNAME); - $criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); - $criteria->addSelectColumn(UsersPeer::USR_LASTNAME); - $criteria->addSelectColumn(UsersPeer::USR_EMAIL); - $criteria->add(UsersPeer::USR_UID, $arrayTaskUser, Criteria::IN); - $rsCriteria = UsersPeer::doSelectRs($criteria); - $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); - - $to = null; - $cc = null; - $sw = 1; - - while ($rsCriteria->next()) { - $row = $rsCriteria->getRow(); - - $toAux = ( - (($row["USR_FIRSTNAME"] != "") || ($row["USR_LASTNAME"] != "")) ? - $row["USR_FIRSTNAME"] . " " . $row["USR_LASTNAME"] . " " : "" - ) . "<" . $row["USR_EMAIL"] . ">"; - - if ($sw == 1) { - $to = $toAux; - $sw = 0; - } else { - $cc = $cc . (($cc != null) ? "," : null) . $toAux; - } - } - - $sTo = $to; - $sCc = $cc; - } - break; - case "MULTIPLE_INSTANCE": - $to = null; - $cc = null; - $sw = 1; - $oDerivation = new Derivation(); - $userFields = $oDerivation->getUsersFullNameFromArray($oDerivation->getAllUsersFromAnyTask($aTask["TAS_UID"])); - if(isset($userFields)){ - foreach($userFields as $row){ - $toAux = ( - (($row["USR_FIRSTNAME"] != "") || ($row["USR_LASTNAME"] != "")) ? - $row["USR_FIRSTNAME"] . " " . $row["USR_LASTNAME"] . " " : "" - ) . "<" . $row["USR_EMAIL"] . ">"; - if ($sw == 1) { - $to = $toAux; - $sw = 0; - } else { - $cc = $cc . (($cc != null) ? "," : null) . $toAux; - } - } - $sTo = $to; - $sCc = $cc; - } - break; - case "MULTIPLE_INSTANCE_VALUE_BASED": - $aTaskNext = $oTask->load($aTask["TAS_UID"]); - if(isset($aTaskNext["TAS_ASSIGN_VARIABLE"]) && !empty($aTaskNext["TAS_ASSIGN_VARIABLE"])){ - $to = null; - $cc = null; - $sw = 1; - $nextTaskAssignVariable = trim($aTaskNext["TAS_ASSIGN_VARIABLE"], " @#"); - $arrayUsers = $arrayData[$nextTaskAssignVariable]; - $oDerivation = new Derivation(); - $userFields = $oDerivation->getUsersFullNameFromArray($arrayUsers); - foreach ($userFields as $row) { - $toAux = ( - (($row["USR_FIRSTNAME"] != "") || ($row["USR_LASTNAME"] != "")) ? - $row["USR_FIRSTNAME"] . " " . $row["USR_LASTNAME"] . " " : "" - ) . "<" . $row["USR_EMAIL"] . ">"; - if ($sw == 1) { - $to = $toAux; - $sw = 0; - } else { - $cc = $cc . (($cc != null) ? "," : null) . $toAux; - } - } - $sTo = $to; - $sCc = $cc; - } - break; - default: - if (isset($aTask["USR_UID"]) && !empty($aTask["USR_UID"])) { - $aUser = $oUser->load($aTask["USR_UID"]); - - $sTo = ( - (($aUser["USR_FIRSTNAME"] != "") || ($aUser["USR_LASTNAME"] != "")) ? - $aUser["USR_FIRSTNAME"] . " " . $aUser["USR_LASTNAME"] . " " : "" - ) . "<" . $aUser["USR_EMAIL"] . ">"; - } - break; + if($aTask["TAS_ASSIGN_TYPE"] === "SELF_SERVICE"){ + if ($swtplDefault == 1) { + G::verifyPath($pathEmail, true); //Create if it does not exist + $fileTemplate = $pathEmail . G::LoadTranslation('ID_UNASSIGNED_MESSAGE'); + + if ((!file_exists($fileTemplate)) && file_exists(PATH_TPL . "mails" . PATH_SEP . G::LoadTranslation('ID_UNASSIGNED_MESSAGE'))) { + @copy(PATH_TPL . "mails" . PATH_SEP . G::LoadTranslation('ID_UNASSIGNED_MESSAGE'), $fileTemplate); + } + $sBody2 = G::replaceDataField(file_get_contents($fileTemplate), $arrayData2); + } } if ($sTo != null) { @@ -5502,6 +5390,133 @@ class Cases throw $oException; } } + + public function getTo($taskType, $taskUid, $taskUsrUid, $arrayData) + { + $arrayResp = array(); + $task = new Tasks(); + $group = new Groups(); + $oUser = new Users(); + switch ($taskType) { + case "SELF_SERVICE": + if (isset($taskUid) && !empty($taskUid)) { + $arrayTaskUser = array(); + + $arrayAux1 = $task->getGroupsOfTask($taskUid, 1); + + foreach ($arrayAux1 as $arrayGroup) { + $arrayAux2 = $group->getUsersOfGroup($arrayGroup["GRP_UID"]); + + foreach ($arrayAux2 as $arrayUser) { + $arrayTaskUser[] = $arrayUser["USR_UID"]; + } + } + + $arrayAux1 = $task->getUsersOfTask($taskUid, 1); + + foreach ($arrayAux1 as $arrayUser) { + $arrayTaskUser[] = $arrayUser["USR_UID"]; + } + + $criteria = new Criteria("workflow"); + + $criteria->addSelectColumn(UsersPeer::USR_UID); + $criteria->addSelectColumn(UsersPeer::USR_USERNAME); + $criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); + $criteria->addSelectColumn(UsersPeer::USR_LASTNAME); + $criteria->addSelectColumn(UsersPeer::USR_EMAIL); + $criteria->add(UsersPeer::USR_UID, $arrayTaskUser, Criteria::IN); + $rsCriteria = UsersPeer::doSelectRs($criteria); + $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); + + $to = null; + $cc = null; + $sw = 1; + + while ($rsCriteria->next()) { + $row = $rsCriteria->getRow(); + + $toAux = ( + (($row["USR_FIRSTNAME"] != "") || ($row["USR_LASTNAME"] != "")) ? + $row["USR_FIRSTNAME"] . " " . $row["USR_LASTNAME"] . " " : "" + ) . "<" . $row["USR_EMAIL"] . ">"; + + if ($sw == 1) { + $to = $toAux; + $sw = 0; + } else { + $cc = $cc . (($cc != null) ? "," : null) . $toAux; + } + } + $arrayResp['to'] = $to; + $arrayResp['cc'] = $cc; + } + break; + case "MULTIPLE_INSTANCE": + $to = null; + $cc = null; + $sw = 1; + $oDerivation = new Derivation(); + $userFields = $oDerivation->getUsersFullNameFromArray($oDerivation->getAllUsersFromAnyTask($taskUid)); + if(isset($userFields)){ + foreach($userFields as $row){ + $toAux = ( + (($row["USR_FIRSTNAME"] != "") || ($row["USR_LASTNAME"] != "")) ? + $row["USR_FIRSTNAME"] . " " . $row["USR_LASTNAME"] . " " : "" + ) . "<" . $row["USR_EMAIL"] . ">"; + if ($sw == 1) { + $to = $toAux; + $sw = 0; + } else { + $cc = $cc . (($cc != null) ? "," : null) . $toAux; + } + } + $arrayResp['to'] = $to; + $arrayResp['cc'] = $cc; + } + break; + case "MULTIPLE_INSTANCE_VALUE_BASED": + $oTask = new Task(); + $aTaskNext = $oTask->load($taskUid); + if(isset($aTaskNext["TAS_ASSIGN_VARIABLE"]) && !empty($aTaskNext["TAS_ASSIGN_VARIABLE"])){ + $to = null; + $cc = null; + $sw = 1; + $nextTaskAssignVariable = trim($aTaskNext["TAS_ASSIGN_VARIABLE"], " @#"); + $arrayUsers = $arrayData[$nextTaskAssignVariable]; + $oDerivation = new Derivation(); + $userFields = $oDerivation->getUsersFullNameFromArray($arrayUsers); + + foreach ($userFields as $row) { + $toAux = ( + (($row["USR_FIRSTNAME"] != "") || ($row["USR_LASTNAME"] != "")) ? + $row["USR_FIRSTNAME"] . " " . $row["USR_LASTNAME"] . " " : "" + ) . "<" . $row["USR_EMAIL"] . ">"; + if ($sw == 1) { + $to = $toAux; + $sw = 0; + } else { + $cc = $cc . (($cc != null) ? "," : null) . $toAux; + } + } + $arrayResp['to'] = $to; + $arrayResp['cc'] = $cc; + } + break; + default: + if (isset($taskUsrUid) && !empty($taskUsrUid)) { + $aUser = $oUser->load($taskUsrUid); + $sTo = ( + (($aUser["USR_FIRSTNAME"] != "") || ($aUser["USR_LASTNAME"] != "")) ? + $aUser["USR_FIRSTNAME"] . " " . $aUser["USR_LASTNAME"] . " " : "" + ) . "<" . $aUser["USR_EMAIL"] . ">"; + } + $arrayResp['to'] = $sTo; + $arrayResp['cc'] = ''; + break; + } + return $arrayResp; + } /** * Obtain all user permits for Dynaforms, Input and output documents diff --git a/workflow/engine/methods/cases/casesListExtJsRedirector.php b/workflow/engine/methods/cases/casesListExtJsRedirector.php index 969709b57..6e8d0ef21 100755 --- a/workflow/engine/methods/cases/casesListExtJsRedirector.php +++ b/workflow/engine/methods/cases/casesListExtJsRedirector.php @@ -2,6 +2,7 @@ if (typeof window.parent != 'undefined') { verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { @@ -20,8 +21,10 @@ if (isset( $_GET['ux'] )) { default: $url = 'casesListExtJs'; } -} else if( key_exists('gmail', $_SESSION) && $_SESSION['gmail'] == 1 && $statusPMGmail ){ - $url = 'derivatedGmail'; +/*----------------------------------********---------------------------------*/ +} else if( $statusPMGmail ){ + $url = $pathDerivateGmail . $_GET['tasks'].'&arrayData='.$_GET['arrayData']; +/*----------------------------------********---------------------------------*/ } else { $url = 'casesListExtJs'; } @@ -32,7 +35,7 @@ echo " window.parent.location.href = '$url';"; if (isset( $_GET['ux'] )) { /*----------------------------------********---------------------------------*/ if(PMLicensedFeatures::getSingleton()->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09') && $statusPMGmail){ - echo '} else { window.parent.location.href = \'derivatedGmail\'; }'; + echo '} else { window.parent.location.href = \''.$pathDerivateGmail.$_GET['tasks'].'&arrayData='.$_GET['arrayData'].'\'; }'; } else { /*----------------------------------********---------------------------------*/ echo '} else { window.parent.location.href = \'casesListExtJs\'; }'; diff --git a/workflow/engine/methods/cases/casesStartPage_Ajax.php b/workflow/engine/methods/cases/casesStartPage_Ajax.php index 0f10ca2f5..b01bef1cb 100755 --- a/workflow/engine/methods/cases/casesStartPage_Ajax.php +++ b/workflow/engine/methods/cases/casesStartPage_Ajax.php @@ -271,7 +271,7 @@ function startCase () if($pmGoogle->getServiceGmailStatus()){ require_once 'src/ProcessMaker/BusinessModel/Pmgmail.php'; $Pmgmail = new \ProcessMaker\BusinessModel\Pmgmail(); - $response = $Pmgmail->sendEmail($aData['APPLICATION'], "", $aData['INDEX']); + $response = $Pmgmail->sendEmail($aData['APPLICATION'], "", $aData['INDEX'], null, null); } } /*----------------------------------********---------------------------------*/ diff --git a/workflow/engine/methods/cases/cases_Derivate.php b/workflow/engine/methods/cases/cases_Derivate.php index 06426bc68..acdc90433 100755 --- a/workflow/engine/methods/cases/cases_Derivate.php +++ b/workflow/engine/methods/cases/cases_Derivate.php @@ -224,14 +224,24 @@ try { /*----------------------------------********---------------------------------*/ $debuggerAvailable = true; - - if (isset( $_SESSION['user_experience'] )) { - $aNextStep['PAGE'] = 'casesListExtJsRedirector?ux=' . $_SESSION['user_experience']; + + $flagGmail = false; + if($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')){ + G::LoadClass( "pmGoogleApi" ); + $pmGoogle = new PMGoogleApi(); + if($pmGoogle->getServiceGmailStatus()){ + $flagGmail = true; + } + } + + $casesRedirector = 'casesListExtJsRedirector'; + if (isset( $_SESSION['user_experience'] ) && $flagGmail === false ) { + $aNextStep['PAGE'] = $casesRedirector.'?ux=' . $_SESSION['user_experience']; $debuggerAvailable = false; - } else if( isset( $_SESSION['gmail'] ) ){ - $aNextStep['PAGE'] = 'casesListExtJsRedirector?gmail='.$_SESSION['gmail']; + } else if( $flagGmail == true ){ + $aNextStep['PAGE'] = $casesRedirector.'?gmail=1&tasks='.serialize($_POST['form']['TASKS']) . '&arrayData='.serialize($appFields['APP_DATA']); } else { - $aNextStep['PAGE'] = 'casesListExtJsRedirector'; + $aNextStep['PAGE'] = $casesRedirector; } if (isset( $_SESSION['PMDEBUGGER'] ) && $_SESSION['PMDEBUGGER'] && $debuggerAvailable) { diff --git a/workflow/engine/methods/cases/derivatedGmail.php b/workflow/engine/methods/cases/derivatedGmail.php index 1a576f977..838a3d3e5 100644 --- a/workflow/engine/methods/cases/derivatedGmail.php +++ b/workflow/engine/methods/cases/derivatedGmail.php @@ -26,7 +26,7 @@ if($appDelPrev == array()){ $Pmgmail = new \ProcessMaker\BusinessModel\Pmgmail(); foreach ($appDelPrev as $app){ if( ($app['DEL_INDEX'] != $actualIndex) && ($app['DEL_PREVIOUS'] != $actualLastIndex) ){ //Sending the email to all threads of the case except the actual thread - $response = $Pmgmail->sendEmail($caseId, "", $app['DEL_INDEX']); + $response = $Pmgmail->sendEmail($caseId, "", $app['DEL_INDEX'], unserialize($_GET['tasks']), unserialize($_GET['arrayData'])); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Pmgmail.php b/workflow/engine/src/ProcessMaker/BusinessModel/Pmgmail.php index c6c1ae32d..e37a1975e 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Pmgmail.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Pmgmail.php @@ -80,9 +80,9 @@ class Pmgmail { * return uid * */ - public function sendEmail($app_uid, $mail, $index) + public function sendEmail($app_uid, $mailToAddresses, $index, $arrayTask = null, $arrayData = null) { - require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Application.php"); + $mailCcAddresses = ""; $oApplication = new \Application(); $formData = $oApplication->Load($app_uid); @@ -99,7 +99,8 @@ class Pmgmail { ($field != 'USER_LOGGED') && ($field != 'USR_USERNAME') && ($field != 'DYN_CONTENT_HISTORY') && - ($field != 'PIN') ){ + ($field != 'PIN') && + (!is_array($value))){ $dataFormToShowString .= " " . $field . " " . $value; } } @@ -125,28 +126,48 @@ class Pmgmail { $labelID = "PMIBX"; } - if($mail == ""){ - require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Users.php"); - $oUsers = new \Users(); + if((string)$mailToAddresses === ""){ + if($arrayTask){ + $oCases = new \Cases(); + + foreach ($arrayTask as $aTask) { + if(!isset($aTask["USR_UID"])){ + $aTask["USR_UID"] = ""; + } + $respTo = $oCases->getTo($aTask["TAS_ASSIGN_TYPE"], $aTask["TAS_UID"], $aTask["USR_UID"], $arrayData); + $mailToAddresses = $respTo['to']; + $mailCcAddresses = $respTo['cc']; + + if($aTask["TAS_ASSIGN_TYPE"] === "SELF_SERVICE"){ + $labelID = "PMUASS"; + if ((string)$mailToAddresses === ""){ // Self Service Value Based + $criteria = new \Criteria("workflow"); + $criteria->addSelectColumn(\AppAssignSelfServiceValuePeer::GRP_UID); + $criteria->add(\AppAssignSelfServiceValuePeer::APP_UID, $app_uid); + + $rsCriteria = \AppAssignSelfServiceValuePeer::doSelectRs($criteria); + $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); + + while ($rsCriteria->next()) { + $row = $rsCriteria->getRow(); + } + $taskUsers = unserialize($row['GRP_UID']); - if($nextUsr == ""){ - //Unassigned: - $mail = ""; - - require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "TaskUser.php"); - $oTaskUsers = new \TaskUser(); - - $taskUsers = $oTaskUsers->getAllUsersTask($tasUid); - foreach ($taskUsers as $user){ - $usrData = $oUsers->loadDetails($user['USR_UID']); - $nextMail = $usrData['USR_EMAIL']; - $mail .= ($mail == '') ? $nextMail : ','. $nextMail; - } - $labelID = "PMUASS"; - }else { - $usrData = $oUsers->loadDetails($nextUsr); - $mail = $usrData['USR_EMAIL']; - } + foreach ($taskUsers as $user) { + $oUsers = new \Users(); + $usrData = $oUsers->loadDetails($user); + $nextMail = $usrData['USR_EMAIL']; + $mailToAddresses .= ($mailToAddresses == '') ? $nextMail : ',' . $nextMail; + } + } + } + } + }else { + $oUsers = new \Users(); + + $usrData = $oUsers->loadDetails($nextUsr); + $mailToAddresses = $usrData['USR_EMAIL']; + } } //first template @@ -191,13 +212,13 @@ class Pmgmail { //getting the default email server $defaultEmail = $this->emailAccount(); - require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.wsBase.php"); $ws = new \wsBase(); + $resultMail = $ws->sendMessage( $app_uid, $defaultEmail, //From, - $mail,//To, - '', + $mailToAddresses,//$To, + $mailCcAddresses,//$Cc '', $subject, 'pmGmail.html',//template diff --git a/workflow/public_html/pmGmail/sso.php b/workflow/public_html/pmGmail/sso.php index 27ee3e50f..ca704e6ca 100644 --- a/workflow/public_html/pmGmail/sso.php +++ b/workflow/public_html/pmGmail/sso.php @@ -22,23 +22,27 @@ $gCurl = curl_init( 'https://' . $server . '/api/1.0/' . $pmws . '/gmailIntegrat curl_setopt( $gCurl, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $pmtoken ) ); curl_setopt( $gCurl, CURLOPT_RETURNTRANSFER, true); curl_setopt( $gCurl, CURLOPT_SSL_VERIFYPEER, false); -curl_setopt( $gCurl, CURLOPT_CONNECTTIMEOUT, 0); - -$gCurl_response = curl_exec( $gCurl ); -curl_close($gCurl); -$gResp = json_decode($gCurl_response); - -if($gResp == false){ - echo Bootstrap::LoadTranslation( 'ID_NO_LICENSE_FEATURE_ENABLED' ); - die; +curl_setopt( $gCurl, CURLOPT_CONNECTTIMEOUT, 0); +curl_setopt($gCurl, CURLOPT_SSL_VERIFYHOST, false); + +if(curl_exec($gCurl) === false){ + echo 'Curl error: ' . curl_error($gCurl); +} else { + $gCurl_response = curl_exec($gCurl); + curl_close($gCurl); + $gResp = json_decode($gCurl_response); + if ($gResp == false) { + echo Bootstrap::LoadTranslation('ID_NO_LICENSE_FEATURE_ENABLED'); + die; + } } - set_time_limit(60); $curl = curl_init( 'https://' . $server . '/api/1.0/' . $pmws . '/gmailIntegration/userexist/' . $gmail ); curl_setopt( $curl, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $pmtoken ) ); curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true); curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER,false); +curl_setopt( $curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt( $curl, CURLOPT_CONNECTTIMEOUT, 0); $curl_response = curl_exec( $curl ); @@ -70,7 +74,8 @@ if( !isset($_SESSION['USER_LOGGED']) || $_SESSION['USER_LOGGED'] != $decodedResp $optArray = array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, - CURLOPT_SSL_VERIFYPEER => false + CURLOPT_SSL_VERIFYPEER => false, + CURLOPT_SSL_VERIFYHOST => false ); // apply those options curl_setopt_array($ch, $optArray); @@ -122,7 +127,8 @@ if ($action == "draft"){ curl_setopt( $curlApp, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $pmtoken ) ); curl_setopt( $curlApp, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt( $curlApp, CURLOPT_RETURNTRANSFER, true); - curl_setopt( $curlApp, CURLOPT_SSL_VERIFYPEER,false); + curl_setopt( $curlApp, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt( $curlApp, CURLOPT_SSL_VERIFYHOST, false); curl_setopt( $curlApp, CURLOPT_CONNECTTIMEOUT, 0); $curl_response_app = curl_exec( $curlApp );