403Webshell
Server IP : 138.197.176.125  /  Your IP : 216.73.217.122
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux SuiteCRM-8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.3.19
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/vtigerversion80/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/vtigerversion80/getFacebookLeadData.php
<?php
include_once 'include/Webservices/Relation.php';
include_once 'vtlib/Vtiger/Module.php';
include_once 'includes/main/WebUI.php';

header('Content-Type: text/html; charset=utf-8');
global $current_user, $adb;
$current_user = Users::getActiveAdminUser();

$request_body = file_get_contents('php://input');
$RequestData = json_decode($request_body,true);
	
foreach ($RequestData['entry'] as $key => $value) {
	$leadGenData = $value;
	foreach ($leadGenData['changes'] as $changesKey => $changesValue) {
		$filename = 'facebook_changes.txt';
		$time_utc = new DateTime('now', new DateTimeZone('UTC'));
		$currentTimestamp = $time_utc->format('Y-m-d H:i:s');
		$user_postData = $currentTimestamp." schedule later method call, next trigger time is ";
		if (file_exists($filename)) {
			$userfile = fopen($filename, "a+");
			fwrite($userfile,"\n". print_r($changesValue,true));
			fclose($userfile);
		} else {
			$userfile = fopen($filename, "w+");
			fwrite($userfile, print_r($changesValue,true));
			fclose($userfile);
		}//end of else

		$changesValueData = $changesValue;
		$valueData = $changesValueData['value'];
		$responseData = $valueData;
		$formId = $responseData['form_id'];
		$leadgenId = $responseData['leadgen_id'];
		$pageId = $responseData['page_id'];
		$adsId = $responseData['ad_id'];

	    $getContactDetailsQuery = $adb->pquery("SELECT * FROM ct_facebooklead_formstatus WHERE formid LIKE '%$formId%' AND enable=?",array(1));
	    $numOfRows = $adb->num_rows($getContactDetailsQuery);
	    
	    for ($i=0; $i < $numOfRows; $i++) {
	    	$faceBookFormId = $adb->query_result($getContactDetailsQuery,$i,'formid');

	    	if($formId == $faceBookFormId){
				$getFacebookConfiguration = $adb->pquery("SELECT * FROM ct_facebooklead_configuration");
			  	$accessToken = $adb->query_result($getFacebookConfiguration,0,'accesstoken');

	    		$getFacebookConfiguration = $adb->pquery("SELECT * FROM ct_facebooklead_fieldmapping WHERE formid = ?",array($formId));
	    		$facebookFieldMappingCount = $adb->num_rows($getFacebookConfiguration);
				$facebookMapping = array();
				for ($j=0; $j < $facebookFieldMappingCount; $j++) {
					$vtigerFieldName = $adb->query_result($getFacebookConfiguration, $j, 'vtiger_fields');
					$facebookFieldName = $adb->query_result($getFacebookConfiguration, $j, 'facebook_fields');
					$facebookMapping[$facebookFieldName] = $vtigerFieldName;
				}//end of for

				if(!empty($facebookMapping)){
					$formNameURL = "https://graph.facebook.com/v19.0/".$formId."?&access_token=".$accessToken;
					$getFacebookFormName = Settings_CTFacebookLeadIntegration_Record_Model::getFacebookData($formNameURL,'GET');
					$facebookFormName = $getFacebookFormName['name'];

					$pageNameURL = "https://graph.facebook.com/v19.0/".$pageId."?&access_token=".$accessToken;
					$getFacebookPageName = Settings_CTFacebookLeadIntegration_Record_Model::getFacebookData($pageNameURL,'GET');
					$facebookPageName = $getFacebookPageName['name'];

					if($adsId){
						$adsNameURL = "https://graph.facebook.com/v14.0/".$adsId."?fields=name&access_token=".$accessToken;
						$getFacebookAdsName = Settings_CTFacebookLeadIntegration_Record_Model::getFacebookData($adsNameURL,'GET');
						$facebookAdsName = $getFacebookAdsName['name'];
					}//end of if

					$fieldURL = "https://graph.facebook.com/v19.0/".$leadgenId."?&access_token=".$accessToken;
					for ($i=0; $i < 4; $i++) { 
						sleep(5);
	        			$getFacebookFormField = Settings_CTFacebookLeadIntegration_Record_Model::getFacebookData($fieldURL,'GET');
	        			$getLeadGenFormData = $getFacebookFormField['field_data'];
	        			//if(in_array($getLeadGenFormData)){
	        			if($leadgenId == $getLeadGenFormData['id']){
	        				break;
	        			}//end of if
        			}//end of for

        			if(!empty($getLeadGenFormData)){

        				$checkLeadExists = $adb->pquery("SELECT * FROM vtiger_leaddetails INNER JOIN vtiger_leadaddress ON vtiger_leadaddress.leadaddressid = vtiger_leaddetails.leadid INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_leaddetails.leadid WHERE vtiger_crmentity.deleted = 0 AND vtiger_leadaddress.fax = ?",array($leadgenId));

        				if($adb->num_rows($checkLeadExists) == 0){
		        			$mappingData = array();
		    				$leadsRecordModel = Vtiger_Record_Model::getCleanInstance('Leads');
					    	$leadsRecordModel->set('mode','');
		        			foreach ($getLeadGenFormData as $leadKey => $leadValue) {
		        				$leadValueData = $leadValue;
		        				$leadValueName = $leadValueData['name'];

		    					if(array_key_exists($leadValueName, $facebookMapping)){
		    						$leadVtigerFieldName = $facebookMapping[$leadValueName];
		        					$leadFieldValue = $leadValueData['values'];
								    $leadsRecordModel->set($leadVtigerFieldName, $leadFieldValue[0]);
		    					}//end of if
		        			}//end of foreach

		        			$getCustomMappingQuery = $adb->pquery("SELECT * FROM ct_facebooklead_fieldmapping WHERE facebook_fields = 'custom' AND formid = ?",array($formId));
		    				$customNumOfRows = $adb->num_rows($getCustomMappingQuery);
							for ($custom=0; $custom < $customNumOfRows; $custom++) {
								$leadVtigerFieldName = $adb->query_result($getCustomMappingQuery,$custom,'vtiger_fields');
								$leadCustomFieldValue = $adb->query_result($getCustomMappingQuery,$custom,'custom_fields');
								if($leadVtigerFieldName == 'utm_campaign' && $leadCustomFieldValue != ''){
									$getCampaignDataQuery = $adb->pquery("SELECT vtiger_crmentity.crmid FROM vtiger_campaign INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_campaign.campaignid WHERE vtiger_crmentity.deleted = 0 AND vtiger_campaign.campaignname = '$leadCustomFieldValue'");
									if($adb->num_rows($getCampaignDataQuery)){
										$leadVtigerFieldValue = $adb->query_result($getCampaignDataQuery,0,'crmid');
									}else{
										$campaignRecordModel = Vtiger_Record_Model::getCleanInstance('Campaigns');
				    					$campaignRecordModel->set('mode','');
				    					$campaignRecordModel->set('campaignname',$leadCustomFieldValue);
				    					$campaignRecordModel->save();
				    					$leadVtigerFieldValue = $campaignRecordModel->getId();
									}//end of else
								}else{
									$leadVtigerFieldValue = $leadCustomFieldValue;
								}//end of else
								$leadsRecordModel->set($leadVtigerFieldName, $leadVtigerFieldValue);
							}//end of for

		    				$leadsRecordModel->set('source', 'Facebook Lead');
		    				$fax = $leadgenId;
		    				$leadsRecordModel->set('fax',$fax);
							$leadsRecordModel->save();
							$recordId = $leadsRecordModel->getId();

							$adb->pquery("UPDATE vtiger_leaddetails SET facebook_page_name = ?, facebook_form_name = ?, facebook_lead_ads_name = ? WHERE leadid = ?",array($facebookPageName,$facebookFormName,$facebookAdsName,$recordId));
        				}//end of if
        			}//end of if
				}//end of if
	    	}//end of if
	    }//end of for
	}//end of foreach
}//end of foreach
?>

Youez - 2016 - github.com/yon3zu
LinuXploit