function QueueUpdate()
{
    if ($usersToEnter > 0) {
        deleteQueue();
        updateID();
    } else {
        // nothing
    }
}
Ejemplo n.º 2
0
function _moduleContent(&$smarty, $module_name)
{
    global $arrConf;
    //folder path for custom templates
    $local_templates_dir = getWebDirModule($module_name);
    //conexion resource
    $pDB = new paloDB($arrConf['elastix_dsn']["elastix"]);
    //user credentials
    global $arrCredentials;
    $action = getAction();
    $content = "";
    switch ($action) {
        case "new_queue":
            $content = viewQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials);
            break;
        case "view":
            $content = viewQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials);
            break;
        case "view_edit":
            $content = viewQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials);
            break;
        case "save_new":
            $content = saveNewQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials);
            break;
        case "save_edit":
            $content = saveEditQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials);
            break;
        case "delete":
            $content = deleteQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials);
            break;
        case "reloadAasterisk":
            $content = reloadAasterisk($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials);
            break;
        case "get_destination_category":
            $content = get_destination_category($smarty, $module_name, $pDB, $arrConf, $arrCredentials);
            break;
        default:
            // report
            $content = reportQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials);
            break;
    }
    return $content;
}
Ejemplo n.º 3
0
function process_message($msg)
{
    $dbalive = mysql_ping();
    if ($dbalive !== TRUE) {
        //数据库连接失效
        echo "mysql time out ! \n";
        exit;
        return;
    }
    global $dbConn, $aliexpress, $alrequeue, $aliorder_obj, $msg_obj;
    $message_body = json_decode($msg->body, TRUE);
    if ($message_body == FALSE || !is_array($message_body) || !isset($message_body['id'])) {
        echo 'invalid message ! --- ' . $msg->body . "\n";
        //错误的消息结果
        $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
        //确认收到
        return;
    }
    $id = $message_body['id'];
    //队列主键id
    $queueinfo = $alrequeue->getQueueRow($id);
    if (empty($queueinfo)) {
        //队列id错误
        writeLog(ALIREPLYERR, '队列id不存在!--- ID:' . $id);
        //确认收到
        $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
        //确认收到
        return;
    }
    if ($queueinfo['retype'] == 1) {
        //处理速卖通订单留言
        $rowinfo = $aliorder_obj->getMessageInfoByMessageId($queueinfo['msgid']);
        if (empty($rowinfo)) {
            //没找到对应的message信息
            writeLog(ALIREPLYERR, '没找到message信息 订单留言---MSGID:' . $queueinfo['msgid']);
            //确认收到
            $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
            //确认收到
            echo date('Y-m-d H:i:s', time()) . '---' . __LINE__ . " message not found ! \n";
            return;
        }
        //加载token信息
        $configFile = WEB_PATH . KEY_PATH . "config_{$rowinfo[receiverid]}.php";
        //          echo $configFile;"\n";
        if (file_exists($configFile)) {
            include $configFile;
        } else {
            echo date('Y-m-d H:i:s', time()) . '---' . __LINE__ . "key file was not found !\n";
            writeLog(ALIREPLYERR, '找不到token文件' . $configFile . __FILE__ . '--' . __LINE__);
            //确认收到
            $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
            //确认收到
            return;
        }
        $aliexpress->setConfig($appKey, $appSecret, $refresh_token);
        $aliexpress->doInit();
        // print_r($rowinfo);exit;
        $replyresult = $aliexpress->replyOrderMessage($rowinfo['orderid'], $rowinfo['responsecontent']);
        if ($replyresult === FALSE) {
            //返回失败
            updateQueue(AliMessage::$errMsg, $queueinfo['id']);
            //记录错误信息到表中
            $msg_obj->updateMessageStatus_aliorder(array($rowinfo['id']), 3);
            //标记为失败
            //确认收到
            $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
            //确认收到
            echo date('Y-m-d H:i:s', time()) . '---' . "failure !\n";
            return;
        } else {
            deleteQueue($queueinfo['id']);
            //删除队列行
            $msg_obj->updateMessageStatus_aliorder(array($rowinfo['id']), 2);
            //标记为成功
            //确认收到
            $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
            //确认收到
            echo date('Y-m-d H:i:s', time()) . '---' . "success !\n";
            return;
        }
    } else {
        //处理速卖通站内信
        $rowinfo = $aliorder_obj->getMessageInfoByMessageId_site($queueinfo['msgid']);
        if (empty($rowinfo)) {
            //没找到对应的message信息
            writeLog(ALIREPLYERR, '没找到message信息 站内信---MSGID:' . $queueinfo['msgid']);
            //确认收到
            $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
            //确认收到
            echo date('Y-m-d H:i:s', time()) . '---' . 'message not found!', "\n";
            return;
        }
        // print_r($rowinfo);exit;
        //加载token信息
        $configFile = WEB_PATH . KEY_PATH . "config_{$rowinfo[receiverid]}.php";
        if (file_exists($configFile)) {
            include $configFile;
        } else {
            echo __LINE__ . "key file was not found ! --- {$configFile} \n";
            writeLog(ALIREPLYERR, '找不到token文件' . $configFile . __FILE__ . '--' . __LINE__);
            //确认收到
            $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
            //确认收到
            echo date('Y-m-d H:i:s', time()) . '---' . __LINE__ . " message not found ! \n";
            return;
        }
        $aliexpress->setConfig($appKey, $appSecret, $refresh_token);
        $aliexpress->doInit();
        $replyresult = $aliexpress->replySiteMessage($rowinfo['senderid'], $rowinfo['replyconten']);
        if ($replyresult === FALSE) {
            //返回失败
            updateQueue(AliMessage::$errMsg, $queueinfo['id']);
            //记录错误信息到表中
            $msg_obj->updateMessageStatus_alisite(array($rowinfo['id']), 3);
            //标记为失败
            //确认收到
            $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
            //确认收到
            echo "failure!\n";
            return;
        } else {
            deleteQueue($queueinfo['id']);
            //删除队列行
            $msg_obj->updateMessageStatus_alisite(array($rowinfo['id']), 2);
            //标记为成功
            //确认收到
            $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
            //确认收到
            echo date('Y-m-d H:i:s', time()) . "success!\n";
            return;
        }
    }
    // Send a message with the string "quit" to cancel the consumer.
    if ($msg->body === 'quit') {
        $msg->delivery_info['channel']->basic_cancel($msg->delivery_info['consumer_tag']);
    }
}