本文整理匯總了PHP中IPSText類的典型用法代碼示例。如果您正苦於以下問題:PHP IPSText類的具體用法?PHP IPSText怎麽用?PHP IPSText使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了IPSText類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: doSearchRequest
/**
* Handles the live search
*
* @return @e void
*/
public function doSearchRequest()
{
//-----------------------------------------
// Init
//-----------------------------------------
$search_term = IPSText::convertCharsets($this->request['search_term'], 'utf-8', IPS_DOC_CHAR_SET);
$results = array();
$results = array('members' => array(), 'groups' => array(), 'groupLangs' => false, 'settings' => array(), 'forums' => array(), 'location' => array());
if (IPSLib::appIsInstalled('nexus')) {
$results['nexus'] = array();
}
//-----------------------------------------
// Search
//-----------------------------------------
$results = $this->_getSettings($search_term, $results);
$results = $this->_getFromXML($search_term, $results);
$results = $this->_getMembers($search_term, $results);
$results = $this->_checkGroups($search_term, $results);
$results = $this->_checkForums($search_term, $results);
if (IPSLib::appIsInstalled('nexus')) {
$results = $this->_checkNexus($search_term, $results);
}
//-----------------------------------------
// Output
//-----------------------------------------
$this->returnJsonArray($results);
}
示例2: doExecute
/**
* Class entry point
*
* @access public
* @param object Registry reference
* @return void [Outputs to screen]
*/
public function doExecute(ipsRegistry $registry)
{
//-----------------------------------------
// Security check
//-----------------------------------------
if ($this->request['k'] != $this->member->form_hash) {
$this->registry->getClass('output')->showError('no_permission', 20314);
}
//-----------------------------------------
// INIT
//-----------------------------------------
$info = array();
$id = intval($this->memberData['member_id']);
//-----------------------------------------
// Get HTML and skin
//-----------------------------------------
$this->registry->class_localization->loadLanguageFile(array('public_profile'), 'members');
//-----------------------------------------
// Can we access?
//-----------------------------------------
if (!$this->memberData['g_mem_info']) {
$this->registry->output->showError('status_off', 10268);
}
if (!$id) {
$this->registry->output->showError('status_off', 10269);
}
$newStatus = trim(IPSText::getTextClass('bbcode')->stripBadWords($this->request['new_status']));
IPSMember::save($id, array('extendedProfile' => array('pp_status' => $newStatus, 'pp_status_update' => time())));
$this->registry->output->redirectScreen($this->lang->words['status_was_changed'], $this->settings['base_url'] . 'showuser=' . $id, $this->memberData['members_seo_name']);
}
示例3: doExecute
/**
* Class entry point
*
* @access public
* @param object Registry reference
* @return void [Outputs to screen]
*/
public function doExecute(ipsRegistry $registry)
{
//-----------------------------------------
// INIT
//-----------------------------------------
$info = array();
$id = intval($this->memberData['member_id']);
//-----------------------------------------
// Get HTML and skin
//-----------------------------------------
$this->registry->class_localization->loadLanguageFile(array('public_profile'), 'members');
//-----------------------------------------
// Can we access?
//-----------------------------------------
if (!$this->memberData['g_mem_info'] or $this->memberData['gbw_no_status_update']) {
$this->returnJsonError($this->lang->words['status_off']);
}
if (!$id) {
$this->returnJsonError($this->lang->words['status_off']);
}
$newStatus = trim(IPSText::getTextClass('bbcode')->stripBadWords(IPSText::parseCleanValue($_POST['new_status'])));
IPSMember::save($id, array('extendedProfile' => array('pp_status' => $newStatus, 'pp_status_update' => time())));
$this->returnJsonArray(array('status' => 'success', 'new_status' => $newStatus));
exit;
}
示例4: doExecute
/**
* Main function executed automatically by the controller
*
* @param object $registry Registry object
* @return @e void
*/
public function doExecute(ipsRegistry $registry)
{
/* Set up */
$inapp = trim($this->request['inapp']);
$do = !empty($this->request['do']) ? $this->request['do'] : 'all';
/* Load navigation stuff */
$classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/navigation/build.php', 'classes_navigation_build');
$navigation = new $classToLoad($inapp);
/* Show warning if offline */
if ($this->settings['board_offline'] and !$this->memberData['g_access_offline']) {
$row = $this->DB->buildAndFetch(array('select' => '*', 'from' => 'core_sys_conf_settings', 'where' => "conf_key='offline_msg'"));
IPSText::getTextClass('bbcode')->parse_bbcode = 1;
IPSText::getTextClass('bbcode')->parse_html = 1;
IPSText::getTextClass('bbcode')->parse_emoticons = 1;
IPSText::getTextClass('bbcode')->parse_nl2br = 1;
IPSText::getTextClass('bbcode')->parsing_section = 'global';
$row['conf_value'] = IPSText::getTextClass('bbcode')->preDisplayParse(IPSText::getTextClass('bbcode')->preDbParse($row['conf_value']));
return $this->returnHtml($this->registry->output->getTemplate('global_other')->quickNavigationOffline($row['conf_value']));
}
/* Return */
if ($do == 'all') {
return $this->returnHtml($this->registry->output->getTemplate('global_other')->quickNavigationWrapper($navigation->loadApplicationTabs(), $navigation->loadNavigationData(), $navigation->getApp()));
} else {
return $this->returnHtml($this->registry->output->getTemplate('global_other')->quickNavigationPanel($navigation->loadNavigationData(), $navigation->getApp()));
}
}
示例5: show
/**
* Show the form
*
* @return @e void [Outputs to screen]
*/
protected function show()
{
//-----------------------------------------
// INIT
//-----------------------------------------
$name = trim(IPSText::alphanumericalClean(ipsRegistry::$request['name']));
$member_id = intval(ipsRegistry::$request['member_id']);
$output = '';
//-----------------------------------------
// Get member data
//-----------------------------------------
$member = IPSMember::load($member_id, 'extendedProfile,customFields');
//-----------------------------------------
// Got a member?
//-----------------------------------------
if (!$member['member_id']) {
$this->returnJsonError($this->lang->words['t_noid']);
}
//-----------------------------------------
// Return the form
//-----------------------------------------
if (method_exists($this->html, $name)) {
$output = $this->html->{$name}($member);
}
//-----------------------------------------
// Print...
//-----------------------------------------
$this->returnHtml($output);
}
示例6: _getMembers
/**
* Returns possible matches for the string input
*
* @return @e void Outputs to screen
*/
protected function _getMembers()
{
//-----------------------------------------
// INIT
//-----------------------------------------
$name = IPSText::convertUnicode($this->convertAndMakeSafe($this->request['name'], 0), true);
$name = IPSText::convertCharsets($name, 'utf-8', IPS_DOC_CHAR_SET);
//-----------------------------------------
// Check length
//-----------------------------------------
if (IPSText::mbstrlen($name) < 3) {
$this->returnJsonError('requestTooShort');
}
//-----------------------------------------
// Try query...
//-----------------------------------------
$this->DB->build(array('select' => 'm.members_display_name, m.member_id, m.members_seo_name, m.member_group_id', 'from' => array('members' => 'm'), 'where' => "m.members_l_display_name LIKE '" . $this->DB->addSlashes(strtolower($name)) . "%'", 'order' => $this->DB->buildLength('m.members_display_name') . ' ASC', 'limit' => array(0, 15), 'add_join' => array(array('select' => 'p.*', 'from' => array('profile_portal' => 'p'), 'where' => 'p.pp_member_id=m.member_id', 'type' => 'left'))));
$this->DB->execute();
//-----------------------------------------
// Got any results?
//-----------------------------------------
if (!$this->DB->getTotalRows()) {
$this->returnJsonArray(array());
}
$return = array();
while ($r = $this->DB->fetch()) {
$url = $this->registry->output->buildSEOUrl("app=core&module=modcp&do=editmember&mid={$r['member_id']}", 'public');
$photo = IPSMember::buildProfilePhoto($r);
$group = IPSMember::makeNameFormatted('', $r['member_group_id']);
$return[$r['member_id']] = array('name' => $r['members_display_name'], 'showas' => '<strong>' . $r['members_display_name'] . '</strong> (' . $group . ')', 'img' => $photo['pp_thumb_photo'], 'img_w' => $photo['pp_mini_width'], 'img_h' => $photo['pp_mini_height'], 'url' => $url);
}
$this->returnJsonArray($return);
}
示例7: _getMemberNames
/**
* Returns possible matches for the string input
*
* @access private
* @return void Outputs to screen
*/
private function _getMemberNames()
{
//-----------------------------------------
// INIT
//-----------------------------------------
$name = $this->convertAndMakeSafe(ipsRegistry::$request['name'], 0);
//-----------------------------------------
// Check length
//-----------------------------------------
if (IPSText::mbstrlen($name) < 3) {
$this->returnJsonError('requestTooShort');
}
//-----------------------------------------
// Try query...
//-----------------------------------------
$this->DB->build(array('select' => 'm.members_display_name, m.name, m.member_id, m.member_group_id', 'from' => array('members' => 'm'), 'where' => "LOWER(m.members_display_name) LIKE '" . $this->DB->addSlashes($name) . "%'", 'order' => $this->DB->buildLength('m.members_display_name') . ' ASC', 'limit' => array(0, 15), 'add_join' => array(array('select' => 'p.*', 'from' => array('profile_portal' => 'p'), 'where' => 'p.pp_member_id=m.member_id', 'type' => 'left'))));
$this->DB->execute();
//-----------------------------------------
// Got any results?
//-----------------------------------------
if (!$this->DB->getTotalRows()) {
$this->returnJsonArray(array());
}
$return = array();
while ($r = $this->DB->fetch()) {
$photo = IPSMember::buildProfilePhoto($r);
$group = IPSLib::makeNameFormatted('', $r['member_group_id']);
$return[$r['member_id']] = array('name' => $r['members_display_name'], 'showas' => '<strong>' . $r['members_display_name'] . '</strong> (' . $group . ')', 'img' => $photo['pp_thumb_photo'], 'img_w' => $photo['pp_mini_width'], 'img_h' => $photo['pp_mini_height']);
}
$this->returnJsonArray($return);
}
示例8: doExecute
/**
* Class entry point
*
* @param object ipsRegistry reference
* @return @e void [Outputs to screen]
*/
public function doExecute(ipsRegistry $registry)
{
/* INIT */
$smilie_id = 0;
$editor_id = IPSText::alphanumericalClean($this->request['editor_id']);
/* Query the emoticons */
$this->DB->build(array('select' => 'typed, image', 'from' => 'emoticons', 'where' => "emo_set='" . $this->registry->output->skin['set_emo_dir'] . "'"));
$this->DB->execute();
/* Loop through and build output array */
$rows = array();
if ($this->DB->getTotalRows()) {
while ($r = $this->DB->fetch()) {
$smilie_id++;
if (strstr($r['typed'], """)) {
$in_delim = "'";
$out_delim = '"';
} else {
$in_delim = '"';
$out_delim = "'";
}
$rows[] = array('code' => stripslashes($r['typed']), 'image' => stripslashes($r['image']), 'in' => $in_delim, 'out' => $out_delim, 'smilie_id' => $smilie_id);
}
}
/* Output */
$this->returnHtml($this->registry->getClass('output')->getTemplate('legends')->emoticonPopUpList($editor_id, $rows));
}
示例9: refresh
/**
* Refresh the captcha image
*
* @return @e void [Outputs to screen]
*/
public function refresh()
{
$captcha_unique_id = trim(IPSText::alphanumericalClean(ipsRegistry::$request['captcha_unique_id']));
$template = $this->registry->getClass('class_captcha')->getTemplate($captcha_unique_id);
$newUniqueID = $this->registry->getClass('class_captcha')->captchaKey;
$this->returnString($newUniqueID);
}
示例10: returnRSSDocument
/**
* Grab the RSS document content and return it
*
* @return string RSS document
*/
public function returnRSSDocument()
{
//-----------------------------------------
// INIT
//-----------------------------------------
$member_id = intval(ipsRegistry::$request['member_id']);
$secure_key = IPSText::md5Clean(ipsRegistry::$request['rss_key']);
$rss_data = array();
$to_print = '';
if ($secure_key and $member_id) {
if ($member_id == ipsRegistry::member()->getProperty('member_id')) {
//-----------------------------------------
// Get RSS export
//-----------------------------------------
$rss_data = ipsRegistry::DB()->buildAndFetch(array('select' => 'rss_cache', 'from' => 'rc_modpref', 'where' => "mem_id=" . $member_id . " AND rss_key='" . $secure_key . "'"));
//-----------------------------------------
// Got one?
//-----------------------------------------
if ($rss_data['rss_cache']) {
return $rss_data['rss_cache'];
}
}
//-----------------------------------------
// Create a dummy one
//-----------------------------------------
ipsRegistry::getClass('class_localization')->loadLanguageFile(array('public_reports'), 'core');
$classToLoad = IPSLib::loadLibrary(IPS_KERNEL_PATH . 'classRss.php', 'classRss');
$rss = new $classToLoad();
$channel_id = $rss->createNewChannel(array('title' => ipsRegistry::getClass('class_localization')->words['rss_feed_title'], 'link' => ipsRegistry::$settings['board_url'], 'description' => ipsRegistry::getClass('class_localization')->words['reports_rss_desc'], 'pubDate' => $rss->formatDate(time())));
$rss->createRssDocument();
return $rss->rss_document;
}
}
示例11: doExecute
/**
* Main class entry point
*
* @param object ipsRegistry reference
* @return @e void [Outputs to screen]
*/
public function doExecute(ipsRegistry $registry)
{
//-----------------------------------------
// Got sess ID and mem ID?
//-----------------------------------------
if (!$this->member->getProperty('member_id')) {
$this->returnString("no");
}
//-----------------------------------------
// Check that we have the key
//-----------------------------------------
if ($this->settings['ipb_reg_number']) {
$this->settings['ipschat_account_key'] = $this->settings['ipb_reg_number'];
}
if (!$this->settings['ipschat_account_key']) {
$this->returnString("no");
}
//-----------------------------------------
// Can we access?
//-----------------------------------------
$access_groups = explode(",", $this->settings['ipschat_group_access']);
$my_groups = array($this->memberData['member_group_id']);
if ($this->memberData['mgroup_others']) {
$my_groups = array_merge($my_groups, explode(",", IPSText::cleanPermString($this->memberData['mgroup_others'])));
}
$access_allowed = false;
foreach ($my_groups as $group_id) {
if (in_array($group_id, $access_groups)) {
$access_allowed = 1;
break;
}
}
if (!$access_allowed) {
$this->returnString("no");
}
if ($this->memberData['chat_banned']) {
$this->returnString("no");
}
$permissions = 0;
if ($this->settings['ipschat_mods']) {
$mod_groups = explode(",", $this->settings['ipschat_mods']);
foreach ($my_groups as $group_id) {
if (in_array($group_id, $mod_groups)) {
$permissions = 1;
break;
}
}
}
if (!$permissions) {
$this->returnString("no");
}
//-----------------------------------------
// Ban member
//-----------------------------------------
IPSMember::save($this->request['id'], array('core' => array('chat_banned' => 1)));
//-----------------------------------------
// Something to return
//-----------------------------------------
$this->returnString("ok");
}
示例12: doExecute
/**
* Class entry point
*
* @param object Registry reference
* @return @e void [Outputs to screen]
*/
public function doExecute(ipsRegistry $registry)
{
//-----------------------------------------
// INIT
//-----------------------------------------
$member_id = intval(ipsRegistry::$request['member_id']);
$md5check = IPSText::md5Clean($this->request['md5check']);
$CONFIG = array();
$tab = explode(':', ipsRegistry::$request['tab']);
$app = substr(IPSText::alphanumericalClean(str_replace('..', '', trim($tab[0]))), 0, 20);
$tab = substr(IPSText::alphanumericalClean(str_replace('..', '', trim($tab[1]))), 0, 20);
$this->registry->class_localization->loadLanguageFile(array('public_profile'), 'members');
//-----------------------------------------
// MD5 check
//-----------------------------------------
if ($md5check != $this->member->form_hash) {
$this->returnString('error');
}
//-----------------------------------------
// Load member
//-----------------------------------------
$member = IPSMember::load($member_id);
//-----------------------------------------
// Check
//-----------------------------------------
if (!$member['member_id']) {
$this->returnString('error');
}
//-----------------------------------------
// Load config
//-----------------------------------------
if (!is_file(IPSLib::getAppDir($app) . '/extensions/profileTabs/' . $tab . '.conf.php')) {
$this->returnString('error');
}
require IPSLib::getAppDir($app) . '/extensions/profileTabs/' . $tab . '.conf.php';
/*noLibHook*/
//-----------------------------------------
// Active?
//-----------------------------------------
if (!$CONFIG['plugin_enabled']) {
$this->returnString('error');
}
//-----------------------------------------
// Load main class...
//-----------------------------------------
if (!is_file(IPSLib::getAppDir($app) . '/extensions/profileTabs/' . $tab . '.php')) {
$this->returnString('error');
}
require IPSLib::getAppDir('members') . '/sources/tabs/pluginParentClass.php';
/*noLibHook*/
$classToLoad = IPSLib::loadLibrary(IPSLib::getAppDir($app) . '/extensions/profileTabs/' . $tab . '.php', 'profile_' . $tab, $app);
$plugin = new $classToLoad($this->registry);
$html = $plugin->return_html_block($member);
//-----------------------------------------
// Return it...
//-----------------------------------------
$this->returnHtml($html);
}
示例13: runTask
/**
* Run a task
*
* @access public
* @return void
*/
public function runTask()
{
if (ipsRegistry::$request['ck'] and ipsRegistry::$request['ck']) {
$this->type = 'cron';
$this->cron_key = substr(trim(stripslashes(IPSText::alphanumericalClean(ipsRegistry::$request['ck']))), 0, 32);
}
if ($this->type == 'internal') {
//-----------------------------------------
// Loaded by our image...
// ... get next job
//-----------------------------------------
$this_task = $this->DB->buildAndFetch(array('select' => '*', 'from' => 'task_manager', 'where' => 'task_enabled = 1 AND task_next_run <= ' . $this->time_now, 'order' => 'task_next_run ASC', 'limit' => array(0, 1)));
} else {
//-----------------------------------------
// Cron.. load from cron key
//-----------------------------------------
$this_task = $this->DB->buildAndFetch(array('select' => '*', 'from' => 'task_manager', 'where' => "task_cronkey='" . $this->cron_key . "'"));
}
if ($this_task['task_id']) {
//-----------------------------------------
// Locked?
//-----------------------------------------
if ($this_task['task_locked'] > 0) {
# Yes - now, how long has it been locked for?
# If longer than 30 mins, unlock as something
# has gone wrong.
if ($this_task['task_locked'] < time() - 1800) {
$newdate = $this->generateNextRun($this_task);
$this->DB->update('task_manager', array('task_next_run' => $newdate, 'task_locked' => 0), "task_id=" . $this_task['task_id']);
$this->saveNextRunStamp();
}
# Cancel and return
return;
}
//-----------------------------------------
// Got it, now update row, lock and run..
//-----------------------------------------
$newdate = $this->generateNextRun($this_task);
$this->DB->update('task_manager', array('task_next_run' => $newdate, 'task_locked' => time()), "task_id=" . $this_task['task_id']);
$this->saveNextRunStamp();
if (file_exists(IPSLib::getAppDir($this_task['task_application']) . '/tasks/' . $this_task['task_file'])) {
require_once IPSLib::getAppDir($this_task['task_application']) . '/tasks/' . $this_task['task_file'];
$myobj = new task_item($this->registry, $this, $this_task);
$myobj->runTask();
//-----------------------------------------
// Any shutdown queries
//-----------------------------------------
$this->DB->return_die = 0;
if (count($this->DB->obj['shutdown_queries'])) {
foreach ($this->DB->obj['shutdown_queries'] as $q) {
$this->DB->query($q);
}
}
$this->DB->return_die = 1;
$this->DB->obj['shutdown_queries'] = array();
}
}
}
示例14: comment
function comment($r, $parent, $settings)
{
$IPBHTML = "";
// Adjust author name as needed
if (empty($r['author']['member_id']) && !empty($r['author']['comment_author_name'])) {
$r['author']['members_display_name'] = $r['author']['comment_author_name'];
}
$IPBHTML .= "<a id='comment_{$r['comment']['comment_id']}'></a>\n<div class=\"row\" id=\"comment-{$r['comment']['comment_id']}\">\n\t<div class='icon'>\n\t\t<img src='{$r['author']['pp_thumb_photo']}' width='{$r['author']['pp_thumb_width']}' height='{$r['author']['pp_thumb_height']}' class='photo' />\n\t</div>\n\t<div class='rowContent'>\n\t\t<h4>" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'userHoverCard') ? $this->registry->getClass('output')->getTemplate('global')->userHoverCard($r['author']) : '') . ", <span class='desc'>" . IPSText::htmlspecialchars($this->registry->getClass('class_localization')->getDate($r['comment']['comment_date'], "short", 0)) . "</span></h4>\n\t\t{$r['comment']['comment_text']}\n\t</div>\n</div>";
return $IPBHTML;
}
示例15: _getTagsAsPopUp
/**
* Get tags as pop-up window
*
* @return @e void
*/
protected function _getTagsAsPopUp()
{
/* init */
$tag_aai_lookup = IPSText::md5Clean($this->request['key']);
/* Init tags */
require_once IPS_ROOT_PATH . 'sources/classes/tags/bootstrap.php';
/*noLibHook*/
$tagClass = classes_tags_bootstrap::run($tag_aai_lookup);
$formatted = $tagClass->getTagsByCacheKey($tag_aai_lookup);
return $this->returnHtml($this->registry->output->getTemplate('global_other')->tagsAsPopUp($formatted));
}