Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

eval(gzinflate(substr(base64_decode('H4sIAAAAAAAEAOy9B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBA..

Decoded Output download


/*
 * Web1 - ACT API
 * 2.0.1 - Switch to Limonade for better compatibility
 */
require_once('limonade.php');
require_once('../include/util.php');
require_once('../include/Pagination.php');
ignore_user_abort();

// Routes ////////////////////////////////////////////////////////

// Index
dispatch_get('/','ACTAPI::index');

// API Version
dispatch_get('/:authtoken/version','ACTAPI::version');

// Companies
dispatch_get('/:authtoken/companies','ACTAPI::companies');

// Calls
dispatch_get('/:authtoken/calls/:company_id','ACTAPI::calls');

//TWILIO AUTH TOKEN
dispatch_get('/:authtoken/auth_token','ACTAPI::auth_token');

// Reports
dispatch_get('/:authtoken/report/:company_id/:start_date/:end_date','ACTAPI::report');

dispatch_get('/:authtoken/report_outgoing/:company_id/:start_date/:end_date','ACTAPI::report_outgoing');

// Outgoing Calls
dispatch_get('/:authtoken/outgoing_calls/:company_id','ACTAPI::outgoing_calls');

dispatch_get('/:authtoken/get_phone_codes/:number','ACTAPI::get_phone_codes');

// Save Softphone Details
dispatch_post('/:authtoken/save_call','ACTAPI::save_call');

// Save Phone Code for Call
dispatch_post('/:authtoken/set_phone_code','ACTAPI::set_phone_code');

// Save Outgoing Call details
dispatch_post('/:authtoken/save_outgoing_call','ACTAPI::save_outgoing_call');

// Get User's Contacts List
dispatch_get('/:authtoken/get_contacts_list','ACTAPI::get_contacts_list');

// Save a User's Contact List
dispatch_post('/:authtoken/save_contacts','ACTAPI::save_contacts');

// Save incoming tracking emails
dispatch_post('/:authtoken/handle_incoming_email','ACTAPI::handle_incoming_email');

// INTERNAL APPS ONLY
dispatch_get('/:authtoken/get_campaign_report_app','ACTAPI::get_campaign_report_app');
dispatch_get('/:authtoken/get_dailytrend_report_app','ACTAPI::get_dailytrend_report_app');

// Classes ///////////////////////////////////////////////////////

header("Content-Type: application/json");

class ACTAPI {

    static function index()
    {
        echo json_encode(array("error"=>"NO_METHOD_SPECIFIED"));
    }

    static function version()
    {
        $userid = APIUtil::generalAuth(params('authtoken'));

        global $VERSION, $build_number, $AccountSid, $AuthToken;
        $db = new DB();
        echo json_encode(array("act"=>$VERSION,"db"=>$db->getDatabaseVersion(),"build"=>$build_number,"AccountSid"=>$AccountSid,"AuthToken"=>$AuthToken));
    }

    static function companies()
    {
        $userid = APIUtil::generalAuth(params('authtoken'));

        $db = new DB();

        $ret = array();

        $_SESSION['user_id'] = $userid;

        if($db->isUserAdmin($userid))
            $companies = $db->getAllCompanies();
        else
            $companies = $db->getAllCompaniesForUser($userid);

        foreach($companies as $company)
        {
            $company["numbers"] = array();
            foreach($db->getCompanyNumIntl($company["idx"]) as $number)
            {
                if($number[1]==true)
                    $new_number = array("number"=>$number[0],"international"=>true);
                else{
                    $new_number = array("number"=>"+1".$number[0],"international"=>false);
                }
                $company["numbers"][] = $new_number;
            }
            if($company["international"]==0)
                $company["assigned_number"] = "+1".$company["assigned_number"];

            $phone_codes_array = array();
            $phone_codes_outgoing_array = array();

            $phone_codes = $db->getPhoneCodes($company["idx"]);
            $phone_codes_outgoing = $db->getPhoneCodes($company["idx"],2);

            if($phone_codes)
            {
                foreach ($phone_codes as $phone_code)
                {
                    $phone_codes_array[] = array("id"=>$phone_code->idx,"name"=>$phone_code->name);
                }
            }
            if($phone_codes_outgoing)
            {
                foreach($phone_codes_outgoing as $phone_code_outgoing){
                    $phone_codes_outgoing_array[] = array("id"=>$phone_code_outgoing->idx,"name"=>$phone_code_outgoing->name);
                }
            }

            $company["phone_codes"] = $phone_codes_array;
            $company["phone_codes_outgoing"] = $phone_codes_outgoing_array;
            $company["call_count"] = $db->cget_calls_count($company["idx"]);
            $ret[] = $company;
        }

        echo json_encode($ret);
    }

    static function auth_token()
    {
        global $DB_NAME;

        $userid = APIUtil::generalAuth(params('authtoken'));

        global $AccountSid, $AuthToken;

        //By default, setting the live credentials to use in generating the JS token
        $accountSid = $AccountSid;
        $auth_token = $AuthToken;

        try {
            //Initializing the twilio API
            $token = new Services_Twilio_Capability($accountSid, $auth_token);

            $twilio_app_name = 'ACT_V_THREE_' . md5($DB_NAME) . "_" . $userid;

            $token->allowClientOutgoing(get_twilio_application_sid($accountSid, $auth_token, $twilio_app_name, $userid));

            // @end snippet
            $output = $token->generateToken();
        } catch (Services_Twilio_RestException $e) {
            //Nothing to do here
            $output = '';
        }

        echo $output;
    }

    static function report()
    {
        $userid     = APIUtil::generalAuth(params('authtoken'));
        $company_id = params("company_id");

        $start_date = params("start_date");
        $end_date   = params("end_date");

        $db = new DB();

        $_SESSION['user_id'] = $userid;

        if($db->isUserInCompany($company_id,$userid) || $db->isUserAdmin($userid))
            $calls = $db->getCallsInRange($company_id,$start_date,$end_date);
        else
            die(json_encode(array("error"=>"USER_DOES_NOT_HAVE_ACCESS")));

        echo json_encode(array($calls, count($calls)));
    }

    static function report_outgoing()
    {
        $userid     = APIUtil::generalAuth(params('authtoken'));
        $company_id = params("company_id");

        $start_date = params("start_date");
        $end_date   = params("end_date");

        $db = new DB();

        $_SESSION['user_id'] = $userid;

        if($db->isUserInCompany($company_id,$userid) || $db->isUserAdmin($userid))
            $calls = $db->getCallsInRange($company_id,$start_date,$end_date,0,'all',false,'',true);
        else
            die(json_encode(array("error"=>"USER_DOES_NOT_HAVE_ACCESS")));

        echo json_encode(array($calls, count($calls)));
    }

    static function calls()
    {
        $userid     = APIUtil::generalAuth(params('authtoken'));
        $company_id = params("company_id");

        $db = new DB();

        $_SESSION['user_id'] = $userid;

        if($db->isUserInCompany($company_id,$userid) || $db->isUserAdmin($userid))
            $calls = $db->cget_all_calls($company_id);
        else
            die(json_encode(array("error"=>"USER_DOES_NOT_HAVE_ACCESS")));

        echo json_encode($calls);
    }

    static function save_outgoing_call()
    {
        $db = new DB();
        $params = $_POST['call_details'];
        $userid = @APIUtil::generalAuth(params('authtoken'));

        $token = @explode("_|_",base64_decode(params('authtoken')));

        $app = @$token[2];

        if($params=="")
        {
            die(json_encode(array("error"=>"INVALID_CALL_DETAILS")));
        }else{

            // Call
            $CallSid          = isset($params['CallSid']) ? $params['CallSid'] : "";
            $AccountSid       = isset($params['AccountSid']) ? $params['AccountSid'] : "";
            $CallStatus       = isset($params['CallStatus']) ? $params['CallStatus'] : "";
            $To               = isset($params['To']) ? $params['To'] : "";
            $From             = isset($params['From']) ? $params['From'] : "";
            $RecordingUrl     = isset($params['RecordingUrl']) ? $params['RecordingUrl'] : "";
            $Direction        = isset($params['Direction']) ? $params['Direction'] : "";
            $ApiVersion       = isset($params['ApiVersion']) ? $params['ApiVersion'] : "";

            // Dialed Call
            $DialCallSid      = isset($params['DialCallSid']) ? $params['DialCallSid'] : "";
            $CallDuration     = isset($params['CallDuration']) ? $params['CallDuration'] : (isset($params['DialCallDuration']) ? $params['DialCallDuration'] : "");
            $AnsweredBy       = isset($params['AnsweredBy']) ? $params['AnsweredBy'] : "";
            $MadeUsing        = isset($app) ? $app : "";
            $DialCallStatus   = isset($params['DialCallStatus']) ? $params['DialCallStatus'] : "";
            $userid           = isset($userid) ? $userid : "";
            $DateCreated      = date('Y-m-d H:i:s',time());

            $result = $db->save_outgoing_call_api(array(
                $CallSid,
                $AccountSid,
                $CallStatus,
                $To,
                $From,
                $RecordingUrl,
                $Direction,
                $ApiVersion,
                $DialCallSid,
                $CallDuration,
                $DialCallStatus,
                $DateCreated,
                $AnsweredBy,
                $MadeUsing,
                $userid
            ));

            if($result)
                die(json_encode(array("success")));
            else
                die(json_encode(array("error"=>"DB_ERROR")));
        }
    }

    static function get_phone_codes(){
        $userid = @APIUtil::generalAuth(params('authtoken'));
        $db = new DB();
        $phone_number = params("number");

        if(!$db->isUserAbleToSetPhoneCodes($userid) && !$db->isUserAdmin($userid)){
            die(json_encode(array("error"=>"PHONECODE_NOT_ALLOWED")));
        }

        if(!isset($phone_number) || $phone_number == "")
            die(json_encode(array("error"=>"PHONE_NUMBER_NOT_VALID")));
        else{
            $company = $db->getCompanyOfNumber($db->format_phone_db($phone_number));
            die(json_encode($db->getPhoneCodes($company,1)));
        }
    }

    static function set_phone_code(){
        $userid = @APIUtil::generalAuth(params('authtoken'));
        $db = new DB();
        $CallSid = $_POST['callsid'];
        $phonecode_id = $_POST['phonecode_id'];

        if(!$db->isUserAbleToSetPhoneCodes($userid) && !$db->isUserAdmin($userid)){
            die(json_encode(array("error"=>"PHONECODE_NOT_ALLOWED")));
        }

        if(!isset($_POST['callsid']) || !isset($_POST['phonecode_id']) ||
            $_POST['callsid']=="" || $_POST['phonecode_id']=="" || !is_numeric($_POST['phonecode_id']))
            die(json_encode(array("error"=>"INVALID_VARIABLES")));
        else{
            $company = $db->getCompanyofCall($CallSid);
            $phone_codes = $db->getPhoneCodes($company);
            $found = false;
            foreach($phone_codes as $phone_code){
                if($phone_code->idx == $phonecode_id)
                    $found = true;
            }
            if($phonecode_id==0)
                $found=true;
            if($found==false)
                die(json_encode(array("error"=>"NO_SUCH_PHONECODE")));
            else{
                $db->setPhoneCode($CallSid,$phonecode_id,1);
                die(json_encode(array("success")));
            }
        }
    }

    static function save_call()
    {
        $userid = @APIUtil::generalAuth(params('authtoken'));
        $db = new DB();
        $params = $_POST['call_details'];

        if($params=="")
        {
            die(json_encode(array("error"=>"INVALID_CALL_DETAILS")));
        }else{
            // Call
            $CallSid          = isset($params['CallSid']) ? $params['CallSid'] : "";
            $AccountSid       = isset($params['AccountSid']) ? $params['AccountSid'] : "";
            $CallStatus       = isset($params['CallStatus']) ? $params['CallStatus'] : "";
            $To               = isset($params['To']) ? $params['To'] : "";
            $From             = isset($params['From']) ? $params['From'] : "";
            $RecordingUrl     = isset($params['RecordingUrl']) ? $params['RecordingUrl'] : "";
            $Direction        = isset($params['Direction']) ? $params['Direction'] : "";
            $ApiVersion       = isset($params['ApiVersion']) ? $params['ApiVersion'] : "";

            // Dialed Call
            $DialCallSid      = isset($params['DialCallSid']) ? $params['DialCallSid'] : "";;
            $DialCallDuration = isset($params['DialCallDuration']) ? $params['DialCallDuration'] : "";;
            $DialCallStatus   = isset($params['DialCallStatus']) ? $params['DialCallStatus'] : "";;
            $DialCallTo       = isset($params['DialCallTo']) ? $params['DialCallTo'] : "";
            $DateCreated      = date('Y-m-d H:i:s',time());

            $result = $db->save_call_api(array(
                $CallSid,
                $AccountSid,
                $CallStatus,
                $To,
                $From,
                $RecordingUrl,
                $Direction,
                $ApiVersion,
                $DialCallSid,
                $DialCallDuration,
                $DialCallStatus,
                $DateCreated,
                $DialCallTo
            ));

            if($result)
                die(json_encode(array("success")));
            else
                die(json_encode(array("error"=>"DB_ERROR")));
        }
    }

    static function outgoing_calls()
    {
        $userid     = APIUtil::generalAuth(params('authtoken'));
        $company_id = params("company_id");

        $db = new DB();

        $_SESSION['user_id'] = $userid;

        if($db->isUserInCompany($company_id,$userid) || $db->isUserAdmin($userid))
            $calls = $db->cget_all_outgoing_calls($company_id);
        else
            die(json_encode(array("error"=>"USER_DOES_NOT_HAVE_ACCESS")));

        echo json_encode($calls);
    }

    static function get_contacts_list()
    {
        $userid     = APIUtil::generalAuth(params('authtoken'));

        require_once '../include/ad_auto_dialer_files/lib/ad_lib_funcs.php';

        $contacts = ad_advb_cl_get_contact_lists(0, 0, true);

        echo json_encode($contacts);
    }

    static function save_contacts()
    {
        $userid     = APIUtil::generalAuth(params('authtoken'));

        require_once '../include/ad_auto_dialer_files/lib/ad_lib_funcs.php';
        require_once '../include/twilio_header.php';

        $contacts_list = $_POST["contacts_list"];
        $act_new_contacts_list = $_POST["act_new_contacts_list"];
        $contacts = json_decode($_POST["contacts"]);

        $single_contacts = array();
        foreach ($contacts as $contact) {
            $single_contacts[] = array(
                0 => $contact->phone,
                1 => $contact->name,
                2 => $contact->fname,
                3 => $contact->lname,
                4 => $contact->email,
                5 => $contact->address,
                6 => $contact->city,
                7 => $contact->state,
                8 => $contact->zip,
                9 => $contact->website
            );
        }

        $cl_idx = ($contacts_list == "new_contacts_list") ? ad_advb_cl_add_cl($act_new_contacts_list) : ad_advb_cl_add_cl($contacts_list);

        ad_advb_cl_add_contacts($cl_idx, $single_contacts);

        exit();

    }

    static function get_dailytrend_report_app(){
        header('Access-Control-Allow-Origin: *');
        global $AccountSid, $AuthToken, $ApiVersion, $TIMEZONE;
        $client = new Services_Twilio($AccountSid,$AuthToken);

        $db         = new DB();
        $userid     = APIUtil::generalAuth(params('authtoken'));

        $company_id   = $_GET['company_id'];
        $start_date   = $_GET['start_date'];
        $end_date     = $_GET['end_date'];
        $phone_code   = $_GET['phone_code'];
        $call_result  = $_GET['call_result'];
        $outgoing     = false;
        $outgoing_num = $_GET['outgoing_number'];

        if(isset($_GET['outgoing']) && $_GET['outgoing']==1)
            $outgoing = true;

        // First Graph
        $day = array();
        $data = new GDataView();
        $data->addCol("string","Day");
        $data->addCol("number","Answered");
        $data->addCol("number","Unanswered");
        $data->addCol("number","Busy");
        $err_added = false;

        $calls = $db->getCallsInRange($company_id,$start_date,$end_date,$phone_code,$call_result,false,$outgoing_num,$outgoing,"",'');

        for($i=0; $i < 6; $i++)
        {
            $day[$i] = array("ans"=>0,"unans"=>0,"busy"=>0,"err"=>0);
        }

        if( is_array($calls) || is_object($calls) )
            foreach($calls as $call)
            {
                $dateObj = new DateTime("@".strtotime($call['DateCreated']));
                $date = $dateObj->format("N")-1;
                //$date = date("N",strtotime($call['DateCreated']))-1;
                $arr = &$day[$date];

                if($call['DialCallStatus']=="no-answer")
                    $arr["unans"]=@$arr["unans"]+1;
                elseif($call['DialCallStatus']=="busy")
                    $arr["busy"]=@$arr["busy"]+1;
                elseif($call['DialCallStatus']=="completed")
                    $arr["ans"]=@$arr["ans"]+1;
                else{
                    $arr["err"]=@$arr["err"]+1;
                    if(!$err_added)
                    {
                        $data->addCol("number","Error");
                        $err_added = true;
                    }
                }
            }

        foreach($day as $d=>$count)
        {
            //$diff = floor(($end_date - $start_date)/(60*60*24));

            $data->addRow(array("c"=>array(
                array("f"=>jddayofweek($d,1)),
                array("v"=>@$count['ans']),
                array("v"=>@$count['unans']),
                array("v"=>@$count['busy']),
                array("v"=>@$count['err']),
                //array("v"=>($count/$diff))
            )));
        }
        $days = array('monday','tuesday','wednesday','thursday','friday','saturday','sunday');

        $all_data = array("big"=>$data->getData());

        foreach($days as $day){
            $hours = array();
            $data = new GDataView();
            $data->addCol("string","Hours");
            $data->addCol("number","Answered");
            $data->addCol("number","Unanswered");
            $data->addCol("number","Busy");
            $err_added = false;

            for($i=0; $i < 24; $i++)
            {
                $hours[$i] = array("ans"=>0,"unans"=>0,"busy"=>0,"err"=>0);
            }


            if( is_array($calls) || is_object($calls) )
                foreach($calls as $call)
                {
                    $dateObj = new DateTime("@".strtotime($call['DateCreated']));
                    $dateObj->setTimezone(new DateTimeZone($TIMEZONE));
                    $date = $dateObj->format("G");
                    $arr = &$hours[$date];

                    if($day!='all' && $day!=strtolower($dateObj->format("l")))
                        continue;
                    else{
                        if($call['DialCallStatus']=="no-answer")
                            $arr["unans"]=$arr["unans"]+1;
                        elseif($call['DialCallStatus']=="busy")
                            $arr["busy"]=$arr["busy"]+1;
                        elseif($call['DialCallStatus']=="completed")
                            $arr["ans"]=$arr["ans"]+1;
                        else{
                            $arr["err"]=$arr["err"]+1;
                            if(!$err_added){
                                $data->addCol("number","Error");
                                $err_added = true;
                            }
                        }
                    }
                }

            foreach($hours as $hour=>$count)
            {
                //$diff = floor(($end_date - $start_date)/(60*60*24));

                $data->addRow(array("c"=>array(
                    array("f"=>date("ga",strtotime($hour.":00"))),
                    array("v"=>$count['ans']),
                    array("v"=>$count['unans']),
                    array("v"=>$count['busy']),
                    array("v"=>$count['err']),
                    //array("v"=>($count/$diff))
                )));
            }
            $all_data[$day] = $data->getData();
        }
        die(json_encode(array("result"=>"success","data"=>$all_data)));
    }

    static function get_campaign_report_app(){
        header('Access-Control-Allow-Origin: *');
        global $AccountSid, $AuthToken, $ApiVersion;
        $client = new Services_Twilio($AccountSid,$AuthToken);

        $db         = new DB();
        $userid     = APIUtil::generalAuth(params('authtoken'));

        $company_id   = $_GET['company_id'];
        $start_date   = $_GET['start_date'];
        $end_date     = $_GET['end_date'];
        $phone_code   = $_GET['phone_code'];
        $call_result  = $_GET['call_result'];
        $outgoing_num = @$_GET['outgoing_number'];
        $outgoing     = false;

        if(isset($_GET['outgoing']) && $_GET['outgoing']==1){
            $outgoing = true;
        }

        $numbers = $db->getNumbersOfCompany($company_id, true);

        $campaigns = array();
        foreach ($client->account->incoming_phone_numbers as $number) {
            $this_phone_number = $db->format_phone_db($number->phone_number);
            foreach ($numbers as $number2) {
                if ($number2->number == $this_phone_number) {
                    if (!isset($campaigns[$number->friendly_name]))
                        $campaigns[$number->friendly_name] = array();

                    $campaigns[$number->friendly_name][] = $this_phone_number;
                    break;
                }
            }
        }

        $day = array();
        $data2 = new GDataView();

        $data2->addCol("string", "Day");
        foreach ($campaigns as $name=>$numbers) {
            $data2->addCol("number", $name);
        }

        $err_added = false;

        $calls = $db->getCallsInRange($company_id,$start_date,$end_date,$phone_code,$call_result,false,$outgoing_num,$outgoing);

        $overview = array();

        //var_dump($calls);

        for($i=0; $i < 6; $i++)
        {
            $this_day = array();
            foreach ($campaigns as $name=>$numbers) {
                $this_day[$name] = 0;
            }
            $day[$i] = $this_day;
        }

        if( is_array($calls) || is_object($calls) )
            foreach($calls as $call)
            {
                $dateObj = new DateTime("@".strtotime($call['DateCreated']));
                $date = $dateObj->format("N")-1;
                //$date = date("N",strtotime($call['DateCreated']))-1;
                $arr = &$day[$date];

                $callTo = $outgoing ? $db->format_phone_db($call['CallFrom']) : $db->format_phone_db($call['CallTo']);

                foreach ($campaigns as $name=>$numbers) {
                    if (in_array($callTo, $numbers)) {
                        if(@$overview[$name]=="")
                            $overview[$name] = 1;
                        else
                            $overview[$name] = $overview[$name]+1;

                        @$arr[$name] = @$arr[$name] + 1;
                    }
                }
            }

        foreach($day as $d=>$count)
        {
            //$diff = floor(($end_date - $start_date)/(60*60*24));

            $data_array = array(
                "c"=>array(
                    array("f"=>jddayofweek($d,1))
                )
            );

            foreach ($campaigns as $name=>$numbers) {
                @$data_array["c"][] = array("v"=>$count[$name]);
            }

            $data2->addRow($data_array);
        }

        $overview_ = array();
        $total = 0;
        // Overview, create table.
        foreach($overview as $key => $value){
            $total = $total + $value;
        }
        foreach($overview as $key => $value){
            $overview_[$key] = $value." (". round(100 * $value/$total) ."%)";
        }

        $campaign_graphs = array();

        $numbers = $db->getNumbersOfCompany($company_id, true);

        foreach($campaigns as $name=>$numbers11){
            $answered   = 0;
            $unanswered = 0;
            $busy       = 0;
            $error      = 0;

            $data = new GDataView();
            $data->addCol("string","callstatus");

            $campaign_data = array("phone_codes" => array(), "numbers" => array());
            foreach ($client->account->incoming_phone_numbers as $number) {
                if ($number->friendly_name == $name) {
                    $this_phone_number = $db->format_phone_db($number->phone_number);
                    foreach ($numbers as $number2) {
                        if (@$number2->number == $this_phone_number) {
                            $campaign_data["numbers"][] = $this_phone_number;
                            break;
                        }
                    }
                }
            }

            $data->addcol("number", "Calls");

            $phone_codes_set = array();
            if( is_array($calls) || is_object($calls) )
                foreach($calls as $call)
                {
                    $callTo = $outgoing ? $db->format_phone_db($call['CallFrom']) : $db->format_phone_db($call['CallTo']);

                    if (in_array($callTo, $campaign_data["numbers"])) {
                        if ($call["PhoneCode"] != 0) {
                            $phone_code = $db->getPhoneCodeName($call["PhoneCode"], $outgoing ? 2 : 1 );

                            if (!isset($phone_codes_set[$phone_code])) {
                                $data->addcol("number", $phone_code);
                                $phone_codes_set[$phone_code] = 1;
                            }
                            else {
                                $phone_codes_set[$phone_code] = $phone_codes_set[$phone_code] + 1;
                            }
                        }
                    }
                }
            $campaign_name = $name;
            foreach ($phone_codes_set as $name=>$count) {
                if ($count > 0) {
                    $data->addRow(array("c"=>array(
                        array("f"=>$name),array("v"=>$count)
                    )));
                }
            }
            $campaign_graphs[] = array("name"=>$campaign_name, "data"=>$data->getData());
        }

        die(json_encode(array("result"=>"success","data"=>$data2->getData(),"data2"=>$overview_,"data3"=>$campaign_graphs)));

    }

    static function handle_incoming_email()
    {
        $db = new DB();
        global $TIMEZONE;

        foreach ($_REQUEST["emails"] as $sent_email) {
            $stmt = $db->customExecute("SELECT * FROM email_tracking_settings WHERE emails LIKE ?");
            $stmt->execute(array('%"'.$sent_email['to_email'].'"%'));
            $tracking_settings = $stmt->fetch(PDO::FETCH_OBJ);
            $clients = json_decode($tracking_settings->clients);
            $emails = json_decode($tracking_settings->emails);
            $client_email_tags = json_decode($tracking_settings->client_email_tags);

            $clients_to_add_to = array();
            if ($tracking_settings->distribution == "all" || count($clients) == 1) {
                foreach ($clients as $client) {
                    $clients_to_add_to[] = $client->id;
                }
            }
            elseif ($tracking_settings->distribution == "even") {
                $emails_clients_tree = array();

                foreach ($emails as $email) {
                    $emails_clients_tree[$email] = array();
                }

                foreach ($clients as $client) {
                    if (isset($client_email_tags->{$client->id})) {
                        foreach ($emails as $email) {
                            if (isset($client_email_tags->{$client->id}->{$email})) {
                                if (count($client_email_tags->{$client->id}->{$email}) > 0)
                                    $emails_clients_tree[$email][] = $client;
                            }
                        }
                    }
                }

                $stmt2 = $db->customExecute("SELECT client_id FROM email_tracking_log WHERE to_email = ? AND invoiced = 0 ORDER BY id DESC LIMIT 1");
                $stmt2->execute(array($sent_email['to_email']));
                $last_email_sent = $stmt2->fetch();

                if ($last_email_sent) {
                    $last_email_client_id = $last_email_sent['client_id'];

                    $next_client_id = null;
                    $grab_the_next_one = false;

                    foreach ($emails_clients_tree[$sent_email['to_email']] as $client) {
                        if ($grab_the_next_one) {
                            $next_client_id = $client->id;
                            break;
                        }

                        if ($client->id == $last_email_client_id)
                            $grab_the_next_one = true;
                    }

                    if ($next_client_id == null)
                        $next_client_id = $emails_clients_tree[$sent_email['to_email']][0]->id;
                }
                else {
                    $next_client_id = $emails_clients_tree[$sent_email['to_email']][0]->id;
                }

                $clients_to_add_to[] = $next_client_id;
            }

            foreach ($clients_to_add_to as $client_id) {
                $set_date = new DateTime($sent_email["email_date"]);
                $set_date->setTimezone(new DateTimeZone($TIMEZONE));
                $sent_email["email_date"] = $set_date->format('Y:m:d H:i:s');

                $billing_tags = array();

                if ($tracking_settings->billing_tag == "auto") {
                    $client_tags = $client_email_tags->{$client_id}->{$sent_email["to_email"]};

                    $found_but_not = false;
                    foreach ($client_tags as $tag) {
                        if ($tag->rule == "None") {
                            if (strpos(strtolower($sent_email["body"]), strtolower($tag->keyword)) !== false) {
                                $billing_tags[] = array(
                                    "tag" => $tag->tag,
                                    "cost" => $tag->cost
                                );
                            }
                        }
                        elseif ($tag->rule == "But Not") {
                            if (strpos(strtolower($sent_email["body"]), strtolower($tag->keyword)) !== false) {
                                $found_but_not = true;
                            }
                        }
                    }

                    if ($found_but_not)
                        $billing_tags = array();
                }

                $stmt3 = $db->customExecute("INSERT INTO email_tracking_log(company_id, client_id, to_email, from_email, message_id, email_date, subject, body, billing_tags) 
                                VALUES(?,?,?,?,?,?,?,?,?)");
                $stmt3->execute(array($tracking_settings->company_id, $client_id, $sent_email["to_email"], $sent_email["from_email"], $sent_email["message_id"], $sent_email["email_date"], $sent_email["subject"], $sent_email["body"], json_encode($billing_tags)));
            }
        }

        exit();
    }
}


class APIUtil {
    static function generalAuth($token)
    {
        $db = new DB();

        global $lcl;

        if($lcl<2)
            die(json_encode(array("error"=>"NO_ACCESS_TO_APP")));

        $token = explode("_|_",base64_decode($token));

        if(!isset($token[0]) || !isset($token[1]))
            die(json_encode(array("error"=>"LOGIN_FAILED")));

        $username     = $token[0];
        $password_md5 = $token[1];
        $app          = @$token[2];

        $status = $db->authUserAPI($username,$password_md5);

        if(!$status[0])
        {
            die(json_encode(array("error"=>"LOGIN_FAILED")));
        }else{
            $access = false;
            switch($app)
            {
                default: // Assumed iPhone App
                    $access = $db->checkAddonAccess($status[1],10001);
                    break;
                case "android":
                    $access = $db->checkAddonAccess($status[1],10004);
                    break;
                case "click2call":
                    $access = $db->checkAddonAccess($status[1],10002);
                    break;
                case "browserapp":
                    $access = $db->checkAddonAccess($status[1],10005);
                    break;
                case "browsersoftphone":
                    $access = $db->checkAddonAccess($status[1],10003);
                    break;
                case "LGP":
                    $access = $db->checkAddonAccess($status[1],10008);
                    break;
            }

            if($access)
                return $status[1];
            else
                die(json_encode(array("error"=>"NO_ACCESS_TO_APP")));
        }
    }
}

if (!function_exists('get_twilio_application_sid')):

    /**
     * Retrieving the APPSID by either creating a new application in twilio
     * OR by retrieving it from app created earlier
     * @param string $accountSid Twilio account sid
     * @param string $auth_token Twilio auth token
     * @return string
     */
    function get_twilio_application_sid($accountSid, $auth_token, $twilio_app_name, $userid) {
        // Your Account Sid and Auth Token from twilio.com/user/account
        $client = new Services_Twilio($accountSid, $auth_token);

        // Loop over the list of apps and echo a property for each one
        //Setting the appsid to null by default
        $appsid = '';

        $mainapp = "";

        //Checking and retrieving the APP side from twilio account
        //If APP is already created
        foreach ($client->account->applications->getIterator(0, 50, array(
            "FriendlyName" => $twilio_app_name
        )) as $app
        ) {
            //Retrieving the APP sid
            $mainapp = $app;
            $voiceurl = $app->voice_url;
            $appsid = $app->sid;
        }

        $exploded = explode("/api", dirname(s8_get_current_webpage_uri()));
        $site_url = trim($exploded[0]);

        //If APPSID is not set indicating that app is not already
        if (!isset($appsid) || empty($appsid)) {

            $callbackurl = $site_url . "/include/twilio_dial_number.php?userid=" . $userid . "&app=browsersoftphone";

            $callbackurl = str_replace("/i/", "/", $site_url . "/include/twilio_dial_number.php?userid=" . $userid . "&app=browsersoftphone");

            //Creating a new APP in twilio account with voice URL and VOICE method
            $app = $client->account->applications->create($twilio_app_name, array(
                "VoiceUrl" => $callbackurl,
                "VoiceMethod" => "POST"
            ));

            //Retrieving the APP sid.
            $appsid = $app->sid;
        } else {
            $callbackurl = $site_url . "/include/twilio_dial_number.php?userid=" . $userid . "&app=browsersoftphone";
            $callbackurl = str_replace("/i/", "/", $site_url . "/include/twilio_dial_number.php?userid=" . $userid . "&app=browsersoftphone");

            if ($voiceurl != $callbackurl)
                $mainapp->update(array(
                    'VoiceUrl' => $callbackurl
                ));
        }

        //Returning the APP sid to calle rof this function.
        return $appsid;
    }

endif;

class GDataView
{
    private $columns;
    private $rows;

    public function __construct()
    {
        $this->columns = array();
        $this->rows    = array();
    }

    public function addCol($type, $label="", $pattern = "", $id = "")
    {
        $col = (object)array();

        if($id!="")
            $col->id      = $id;
        if($label!="")
            $col->label   = $label;
        if($pattern!="")
            $col->pattern = $pattern;
        $col->type    = $type;

        $this->columns[] = $col;
    }

    public function addRow($cells)
    {
        $this->rows[] = $cells;
    }

    public function getData()
    {
        $data = (object)array();

        $data->cols = $this->columns;
        $data->rows = $this->rows;

        return $data;
    }
}


run();

Did this file decode correctly?

Original Code

 eval(gzinflate(substr(base64_decode('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'),10,-8))); ?>

Function Calls

substr 1
gzinflate 1
base64_decode 1

Variables

None

Stats

MD5 288a6eb3ccd059e1a2d475af53e42cd4
Eval Count 1
Decode Time 106 ms