Пример #1
0
/**
 * Get all keywords from plugins
 *
 * @return array
 */
function keyword_getall()
{
    global $core_config;
    $ret = array();
    foreach ($core_config['featurelist'] as $plugin) {
        list($keyword, $sms_receiver) = core_hook($plugin, 'keyword_getall');
        $ret[$plugin][] = array($keyword, $sms_receiver);
    }
    return $ret;
}
Пример #2
0
function bulksms_hook_playsmsd()
{
    // force to check p_status=1 (sent) as getsmsstatus only check for p_status=0 (pending)
    // $db_query = "SELECT * FROM "._DB_PREF_."_tblSMSOutgoing WHERE p_status=0 OR p_status=1";
    $db_query = "SELECT * FROM " . _DB_PREF_ . "_tblSMSOutgoing WHERE p_status='1' AND p_gateway='bulksms'";
    $db_result = dba_query($db_query);
    while ($db_row = dba_fetch_array($db_result)) {
        $uid = $db_row['uid'];
        $smslog_id = $db_row['smslog_id'];
        $p_datetime = $db_row['p_datetime'];
        $p_update = $db_row['p_update'];
        $gpid = $db_row['p_gpid'];
        core_hook('bulksms', 'getsmsstatus', array($gpid, $uid, $smslog_id, $p_datetime, $p_update));
    }
}
Пример #3
0
function getsmsstatus()
{
    $smsc = core_smsc_get();
    $smsc_data = gateway_get_smscbyname($smsc);
    $gateway = $smsc_data['gateway'];
    $db_query = "SELECT * FROM " . _DB_PREF_ . "_tblSMSOutgoing WHERE p_status='0' AND p_gateway='{$smsc}'";
    $db_result = dba_query($db_query);
    while ($db_row = dba_fetch_array($db_result)) {
        $uid = $db_row['uid'];
        $smslog_id = $db_row['smslog_id'];
        $p_datetime = $db_row['p_datetime'];
        $p_update = $db_row['p_update'];
        $gpid = $db_row['p_gpid'];
        core_hook($gateway, 'getsmsstatus', array($gpid, $uid, $smslog_id, $p_datetime, $p_update));
    }
}
Пример #4
0
function infobip_hook_playsmsd()
{
    global $plugin_config;
    if ($plugin_config['infobip']['dlr_nopush'] == '1') {
        // force to check p_status=1 (sent) as getsmsstatus only check for p_status=0 (pending)
        // $db_query = "SELECT * FROM "._DB_PREF_."_tblSMSOutgoing WHERE p_status=0 OR p_status=1";
        $db_query = "SELECT * FROM " . _DB_PREF_ . "_tblSMSOutgoing WHERE p_status='1' AND p_gateway='infobip'";
        $db_result = dba_query($db_query);
        while ($db_row = dba_fetch_array($db_result)) {
            $uid = $db_row['uid'];
            $smslog_id = $db_row['smslog_id'];
            $p_datetime = $db_row['p_datetime'];
            $p_update = $db_row['p_update'];
            $gpid = $db_row['p_gpid'];
            core_hook('infobip', 'getsmsstatus', array($gpid, $uid, $smslog_id, $p_datetime, $p_update));
        }
    }
}
Пример #5
0
function getsmsinbox()
{
    $smscs = gateway_getall_smsc_names();
    foreach ($smscs as $smsc) {
        $smsc_data = gateway_get_smscbyname($smsc);
        $gateways[] = $smsc_data['gateway'];
    }
    if (is_array($gateways)) {
        $gateways = array_unique($gateways);
        foreach ($gateways as $gateway) {
            core_hook($gateway, 'getsmsinbox');
        }
    }
}
Пример #6
0
function sendsms_get_template()
{
    global $core_config;
    $templates = array();
    for ($c = 0; $c < count($core_config['featurelist']); $c++) {
        if ($templates = core_hook($core_config['featurelist'][$c], 'sendsms_get_template')) {
            break;
        }
    }
    return $templates;
}
Пример #7
0
function playsmsd_once($param)
{
    // plugin feature
    core_call_hook();
    // plugin gateway
    core_hook(core_gateway_get(), 'playsmsd_once', array($param));
    // plugin themes
    core_hook(core_themes_get(), 'playsmsd_once', array($param));
}
Пример #8
0
     }
     break;
 case 'ws':
 case 'webservice':
 case 'webservices':
     // _APP_=webservices to access webservices, replacement of input.php and output.php
     $fn = $core_config['apps_path']['incs'] . '/app/webservices.php';
     if (file_exists($fn)) {
         include $fn;
     }
     break;
 case 'call':
     // _APP_=call to access subroutine in a plugin
     // can be used to replace callback.php in clickatell or dlr.php and geturl.php in kannel
     if (_CAT_ && _PLUGIN_) {
         core_hook(_PLUGIN_, 'call', array($_REQUEST));
     }
     break;
 case 'page':
     // _APP_=page to access a page inside themes
     // by default this is used for displaying 'forgot password' page and 'register an account' page
     // login, logout, register, forgot password, noaccess
     logger_audit();
     if (_INC_) {
         $fn = $core_config['apps_path']['themes'] . '/' . core_themes_get() . '/page_' . _INC_ . '.php';
         if (file_exists($fn)) {
             include $fn;
         } else {
             $fn = $core_config['apps_path']['themes'] . '/common/page_' . _INC_ . '.php';
             if (file_exists($fn)) {
                 include $fn;
Пример #9
0
/**
 * Generate HTML input tag
 * @param  string $type        Input type
 * @param  string $name        Input name
 * @param  string $value       Input default value
 * @param  array  $tag_params  Additional input tag parameters
 * @param  string $css_id      CSS ID
 * @param  string $css_class   CSS class name
 * @return string              HTML input tag
 */
function themes_input($type = 'text', $name = '', $value = '', $tag_params = array(), $css_id = '', $css_class = '')
{
    $ret = '';
    if (core_themes_get()) {
        $ret = core_hook(core_themes_get(), 'themes_input', array($type, $name, $value, $tag_params, $css_id, $css_class));
    }
    if (!$ret) {
        if (is_array($tag_params)) {
            foreach ($tag_params as $key => $val) {
                $params .= ' ' . $key . '="' . $val . '"';
            }
        }
        $ret = '<input type="' . $type . '" name="' . $name . '" value="' . $value . '" id="' . $css_id . '" class="playsms-input ' . $css_class . '" ' . $params . '>';
    }
    return $ret;
}
Пример #10
0
function webservices_output($operation, $requests, $returns)
{
    global $core_config;
    // default returns
    $returns = array('modified' => TRUE, 'param' => array('operation' => $operation, 'content' => '', 'content-type' => 'text/json', 'charset' => 'utf-8'));
    // plugin feature
    for ($c = 0; $c < count($core_config['plugins']['list']['feature']); $c++) {
        if ($ret_intercept = core_hook($core_config['plugins']['list']['feature'][$c], 'webservices_output', array($operation, $requests, $returns))) {
            if ($ret_intercept['modified']) {
                $returns['modified'] = TRUE;
                $returns['param']['operation'] = $ret_intercept['param']['operation'] ? $ret_intercept['param']['operation'] : $returns['param']['operation'];
                $returns['param']['content'] = $ret_intercept['param']['content'] ? $ret_intercept['param']['content'] : $returns['param']['content'];
                $returns['param']['content-type'] = $ret_intercept['param']['content-type'] ? $ret_intercept['param']['content-type'] : $returns['param']['content-type'];
                $returns['param']['charset'] = $ret_intercept['param']['charset'] ? $ret_intercept['param']['charset'] : $returns['param']['charset'];
            }
        }
    }
    // plugin gateway
    $smscs = gateway_getall_smsc_names();
    foreach ($smscs as $smsc) {
        $smsc_data = gateway_get_smscbyname($smsc);
        $gateways[] = $smsc_data['gateway'];
    }
    if (is_array($gateways)) {
        $gateways = array_unique($gateways);
        foreach ($gateways as $gateway) {
            if ($ret_intercept = core_hook($gateway, 'webservices_output', array($operation, $requests, $returns))) {
                if ($ret_intercept['modified']) {
                    $returns['modified'] = TRUE;
                    $returns['param']['operation'] = $ret_intercept['param']['operation'] ? $ret_intercept['param']['operation'] : $returns['param']['operation'];
                    $returns['param']['content'] = $ret_intercept['param']['content'] ? $ret_intercept['param']['content'] : $returns['param']['content'];
                    $returns['param']['content-type'] = $ret_intercept['param']['content-type'] ? $ret_intercept['param']['content-type'] : $returns['param']['content-type'];
                    $returns['param']['charset'] = $ret_intercept['param']['charset'] ? $ret_intercept['param']['charset'] : $returns['param']['charset'];
                }
            }
        }
    }
    // plugin themes
    if ($ret_intercept = core_hook(core_themes_get(), 'webservices_output', array($operation, $requests, $returns))) {
        if ($ret_intercept['modified']) {
            $returns['modified'] = TRUE;
            $returns['param']['operation'] = $ret_intercept['param']['operation'] ? $ret_intercept['param']['operation'] : $returns['param']['operation'];
            $returns['param']['content'] = $ret_intercept['param']['content'] ? $ret_intercept['param']['content'] : $returns['param']['content'];
            $returns['param']['content-type'] = $ret_intercept['param']['content-type'] ? $ret_intercept['param']['content-type'] : $returns['param']['content-type'];
            $returns['param']['charset'] = $ret_intercept['param']['charset'] ? $ret_intercept['param']['charset'] : $returns['param']['charset'];
        }
    }
    return $returns;
}
Пример #11
0
function webservices_output($operation, $requests)
{
    $operation = strtolower($operation);
    $ret = core_hook($operation, 'webservices_output', array($operation, $requests));
    return $ret;
}
Пример #12
0
function playsmsd_once($param)
{
    // plugin feature
    core_call_hook();
    // plugin gateway
    $smscs = gateway_getall_smsc_names();
    foreach ($smscs as $smsc) {
        $smsc_data = gateway_get_smscbyname($smsc);
        $gateways[] = $smsc_data['gateway'];
    }
    if (is_array($gateways)) {
        $gateways = array_unique($gateways);
        foreach ($gateways as $gateway) {
            core_hook($gateway, 'playsmsd_once', array($param));
        }
    }
    // plugin themes
    core_hook(core_themes_get(), 'playsmsd_once', array($param));
}
Пример #13
0
/**
 * Popup compose message form
 *
 * @param string $to
 *        Default destination
 * @param string $message
 *        Default or previous message
 * @param string $return_url
 *        If empty this would be $_SERVER['REQUEST_URI']
 * @param string $button_icon
 *        If empty this would be a reply icon
 * @return string Javascript PopupSendsms()
 */
function themes_popup_sendsms($to = "", $message = "", $return_url = "", $button_icon = "")
{
    global $icon_config;
    $ret = '';
    $return_url = $return_url ? $return_url : $_SERVER['REQUEST_URI'];
    $button_icon = $button_icon ? $button_icon : $icon_config['reply'];
    if (core_themes_get()) {
        $ret = core_hook(core_themes_get(), 'themes_popup_sendsms', array($to, $message, $return_url, $button_icon));
    }
    if (!$ret) {
        $ret = core_hook('common', 'themes_popup_sendsms', array($to, $message, $return_url, $button_icon));
    }
    if (!$ret) {
        $ret = "<a href=# onClick=\"javascript:PopupSendSms('" . urlencode($to) . "', '" . urlencode($message) . "', '" . _('Compose message') . "', '" . urlencode($return_url) . "');\">" . $button_icon . "</a>";
    }
    return $ret;
}
Пример #14
0
function webservices_output($operation, $requests, $returns)
{
    global $core_config;
    // default returns
    $returns = array('modified' => TRUE, 'param' => array('operation' => $operation, 'content' => '', 'content-type' => 'text/json', 'charset' => 'utf-8'));
    for ($c = 0; $c < count($core_config['featurelist']); $c++) {
        if ($ret_intercept = core_hook($core_config['featurelist'][$c], 'webservices_output', array($operation, $requests, $returns))) {
            if ($ret_intercept['modified']) {
                $returns['modified'] = TRUE;
                $returns['param']['operation'] = $ret_intercept['param']['operation'] ? $ret_intercept['param']['operation'] : $returns['param']['operation'];
                $returns['param']['content'] = $ret_intercept['param']['content'] ? $ret_intercept['param']['content'] : $returns['param']['content'];
                $returns['param']['content-type'] = $ret_intercept['param']['content-type'] ? $ret_intercept['param']['content-type'] : $returns['param']['content-type'];
                $returns['param']['charset'] = $ret_intercept['param']['charset'] ? $ret_intercept['param']['charset'] : $returns['param']['charset'];
            }
        }
    }
    return $returns;
}
Пример #15
0
function getsmsinbox()
{
    $smsc = core_smsc_get();
    $smsc_data = gateway_get_smscbyname($smsc);
    $gateway = $smsc_data['gateway'];
    core_hook($gateway, 'getsmsinbox');
}