<?php

header('Content-Type: application/json');
if (isset($_POST) && $_POST) {
    $arayan = $_POST["caller"];
    $aranan = $_POST["callee"];
    $zaman = date("d.m.Y H:i");
    $metin = $zaman . " tarihinde {$arayan} numarası, sizin {$aranan} numaranızı aradı bilgiginiz olsun.";
    require __DIR__ . "/vendor/autoload.php";
    $masterToken = "9d020c10d7e1d19f229a6b3f5c0921431baa85adf332edd06d6ca9514d896604";
    $provider = new \Bulutfon\OAuth2\Client\Provider\Bulutfon(array('verifySSL' => false));
    $ac = new \League\OAuth2\Client\Token\AccessToken(array('access_token' => $masterToken));
    $m = array('title' => 'PROJEKOD', 'receivers' => '905326202911,905322041584,905326467227', 'content' => $metin);
    $sonuc = $provider->sendMessage($ac, $m);
}
$content = ['bfxm' => ['version' => '1'], 'seq' => [['action' => 'play', 'args' => ['url' => 'http://projekod.com/mesai/mesai.mp3']]]];
echo json_encode($content);
function projekod_get_bulutfon_cdr()
{
    include __DIR__ . '/../bulutfon/autoload.php';
    $masterToken = get_option('bulutfon_masterKey');
    $provider = new \Bulutfon\OAuth2\Client\Provider\Bulutfon(array('verifySSL' => false));
    $out = [];
    if ($masterToken) {
        $token = new \League\OAuth2\Client\Token\AccessToken(array('access_token' => $masterToken));
        $referans["direction"]["IN"] = "Gelen";
        $referans["direction"]["OUT"] = "Giden";
        $referans["direction"]["LOCAL"] = "İç Hat";
        $referans["bf_calltype"]["voice"] = "Sesli";
        $referans["bf_calltype"]["fax"] = "Fax";
        $cdrConfig = array();
        if ($numaralar = get_option('bulutfon_sms_numaralar')) {
            $cdrConfig = array('callee' => $numaralar);
        }
        $cdrs = $provider->getCdrs($token, $cdrConfig)->getArrayCopy();
        //        $number = '905344920157';
        //        print_r(projekod_get_user_from_number($number))
        if (isset($cdrs["cdrs"])) {
            $cdrs = $cdrs["cdrs"];
            foreach ($cdrs as $cdr) {
                /** @var $cdr \Bulutfon\OAuth2\Client\Entity\Cdr */
                $cdrData = $cdr->getArrayCopy();
                $cdrData["direction_str"] = "";
                $cdrData["bf_calltype_str"] = "";
                $cdrData["caller_str"] = projekod_formatPhoneNumber($cdrData["caller"]);
                $cdrData["callee_str"] = projekod_formatPhoneNumber($cdrData["callee"]);
                $info = projekod_get_user_from_number($cdrData["caller"]);
                $cdrData['old_orders'] = [];
                if ($info) {
                    $cdrData['old_orders'] = $info;
                }
                if (isset($referans["direction"][$cdrData["direction"]])) {
                    $cdrData["direction_str"] = $referans["direction"][$cdrData["direction"]];
                }
                if (isset($referans["bf_calltype"][$cdrData["bf_calltype"]])) {
                    $cdrData["bf_calltype_str"] = $referans["bf_calltype"][$cdrData["bf_calltype"]];
                }
                //                if($callerStr= $this->getNumberName($cdrData["caller"])){
                //                    $cdrData["caller_str"] = ($callerStr);
                //                }
                //
                //                if($calleeStr= $this->getNumberName($cdrData["callee"])){
                //                    $cdrData["callee_str"] = ($calleeStr);
                //                }
                //
                //                if(isset($referans["direction"][$cdrData["direction"]])){
                //                    $cdrData["direction_str"] = $referans["direction"][$cdrData["direction"]];
                //                }
                //                if(isset($referans["bf_calltype"][$cdrData["bf_calltype"]])){
                //                    $cdrData["bf_calltype_str"] = $referans["bf_calltype"][$cdrData["bf_calltype"]];
                //                }
                $out[] = $cdrData;
            }
        }
    }
    return $out;
}
$secureKey = get_option('bulutfon_secureKey');
$action = "cron";
if (isset($_GET["action"])) {
    $action = $_GET["action"];
}
$token = $_GET["token"];
if ($token == $secureKey) {
    global $wpdb;
    $adet = get_option("ayar_sms_cronCount");
    $adet = empty($adet) ? 10 : $adet;
    $bekleyenlerSql = "select sq.id, st.status, sq.sms_content, sq.phone_number, sq.arguments, st.content from %prefix%sms_queue sq left join %prefix%sms_template st ON sq.template_id = st.id  where sq.status=1 AND (st.status=1 OR st.status=0) limit 0,{$adet}";
    $bekleyenlerSql = str_replace(array('%prefix%'), array($wpdb->prefix), $bekleyenlerSql);
    $smsQs = $wpdb->get_results($bekleyenlerSql);
    $masterToken = get_option('bulutfon_masterKey');
    $smsBaslik = get_option('bulutfon_sms_baslik');
    $provider = new \Bulutfon\OAuth2\Client\Provider\Bulutfon(array('verifySSL' => false));
    $ac = new \League\OAuth2\Client\Token\AccessToken(array('access_token' => $masterToken));
    if (is_array($smsQs) && !empty($smsQs)) {
        foreach ($smsQs as $sms) {
            $arguments = json_decode($sms->arguments, true);
            $content = $sms->content;
            if ($arguments) {
                foreach ($arguments as $arKey => $arValue) {
                    $content = str_replace('{' . $arKey . '}', $arValue, $content);
                }
            }
            $m = array('title' => $smsBaslik, 'receivers' => '90' . substr($sms->phone_number, -10), 'content' => $content);
            try {
                $sonuc = (array) $provider->sendMessage($ac, $m);
                echo $sonuc['message'] . "<br>";
                if (isset($sonuc["message"]) && $sonuc["message"] == "Messages created successfully") {