/** * 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; }
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)); } }
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)); } }
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)); } } }
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'); } } }
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; }
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)); }
} 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;
/** * 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; }
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; }
function webservices_output($operation, $requests) { $operation = strtolower($operation); $ret = core_hook($operation, 'webservices_output', array($operation, $requests)); return $ret; }
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)); }
/** * 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; }
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; }
function getsmsinbox() { $smsc = core_smsc_get(); $smsc_data = gateway_get_smscbyname($smsc); $gateway = $smsc_data['gateway']; core_hook($gateway, 'getsmsinbox'); }