本文整理汇总了PHP中Phpfox::getTokenName方法的典型用法代码示例。如果您正苦于以下问题:PHP Phpfox::getTokenName方法的具体用法?PHP Phpfox::getTokenName怎么用?PHP Phpfox::getTokenName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Phpfox
的用法示例。
在下文中一共展示了Phpfox::getTokenName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: verifyToken
public function verifyToken()
{
return;
$aCheck = array('/video/frame/', '/subscribe/complete/', '/ad/complete/', '/music/upload/');
if ($sPlugin = Phpfox_Plugin::get('log.service_session___verifyToken_start')) {
eval($sPlugin);
}
if (defined('PHPFOX_SKIP_POST_PROTECTION')) {
return;
}
if (isset($_GET[PHPFOX_GET_METHOD]) && (in_array($_GET[PHPFOX_GET_METHOD], $aCheck) || preg_match('/\\/api\\/gateway\\/callback\\/(.*?)\\//', $_GET[PHPFOX_GET_METHOD], $aMatches))) {
return;
}
// CSRF
if (Phpfox::getParam('core.csrf_protection_level') != 'low' && isset($_SERVER['REQUEST_METHOD']) && strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
if (!isset($_POST[Phpfox::getTokenName()]['security_token'])) {
$this->_log(Phpfox::getPhrase('error.csrf_token_set'));
}
if (Phpfox::getParam('core.csrf_protection_level') == 'high') {
$sToken = Phpfox::getLib('session')->get('security_token');
if (!$sToken) {
$this->_log(Phpfox::getPhrase('error.csrf_session_token'));
}
} else {
$sToken = $this->getToken();
}
if ($sToken != $_POST[Phpfox::getTokenName()]['security_token']) {
$this->_log(Phpfox::getPhrase('error.csrf_detected'));
}
}
}
示例2: globalSearch
public function globalSearch($sQuery, $bIsTagSearch = false)
{
if ($bIsTagSearch === true)
{
return;
}
$sKeywordSearch = '(u.full_name LIKE \'%' . Phpfox::getLib('database')->escape($sQuery) . '%\' OR (u.email LIKE \'%' . Phpfox::getLib('database')->escape($sQuery) . '@%\' OR u.email = \'' . Phpfox::getLib('database')->escape($sQuery) . '\'))';
$iCnt = $this->database()->select('COUNT(*)')
->from($this->_sTable, 'u')
->where($sKeywordSearch)
->execute('getSlaveField');
$aUsers = $this->database()->select('u.joined, ' . Phpfox::getUserField())
->from($this->_sTable, 'u')
->where($sKeywordSearch)
->limit(10)
->order('u.joined DESC')
->execute('getSlaveRows');
if (count($aUsers))
{
$aResults = array();
$aResults['total'] = $iCnt;
$aResults['menu'] = Phpfox::getPhrase('user.members');
$aResults['form'] = '<form method="post" action="' . Phpfox::getLib('url')->makeUrl('user.browse') . '"><div><input type="hidden" name="' . Phpfox::getTokenName() . '[security_token]" value="' . Phpfox::getService('log.session')->getToken() . '" /></div><div><input name="search[keyword]" value="' . Phpfox::getLib('parse.output')->clean($sQuery) . '" size="20" type="hidden" /></div><div><input type="hidden" name="search[type]" value="2" /></div><div><input type="submit" value="' . Phpfox::getPhrase('user.view_more_members') . '" class="search_button" /></div></form>';
foreach ($aUsers as $iKey => $aUser)
{
$aResults['results'][$iKey] = array(
'link' => Phpfox::getLib('url')->makeUrl($aUser['user_name']),
'title' => $aUser['full_name'],
'image' => Phpfox::getLib('image.helper')->display(array(
'user' => $aUser,
'suffix' => '_75',
'max_width' => 75,
'max_height' => 75
)
),
'extra_info' => Phpfox::getPhrase('user.a_href_link_member_a_joined_joined', array(
'link' => Phpfox::getLib('url')->makeUrl('user.browse'),
'joined' => Phpfox::getTime(Phpfox::getParam('core.global_update_time'), $aUser['joined'])
)
)
);
}
return $aResults;
}
}
示例3: _getInfo
/**
* Returns paging info: 'totalPages', 'totalRows', 'current', 'fromRow','toRow', 'firstUrl', 'prevUrl', 'nextUrl', 'lastUrl', 'urls' (url=>page)
*
* @param Url $oUrl page url
* @return array paging info
*/
private function _getInfo()
{
if ($this->getTotalPages() == 0) {
return false;
}
$sParams = '';
if (count($this->_aParams)) {
foreach ($this->_aParams as $iKey => $sValue) {
if (in_array($iKey, array('phpfox', Phpfox::getTokenName(), 'page', PHPFOX_GET_METHOD, 'ajax_page_display'))) {
continue;
}
if (is_array($sValue)) {
foreach ($sValue as $sKey => $sNewValue) {
if (is_numeric($sKey)) {
continue;
}
$sParams .= '&' . $iKey . '[' . $sKey . ']=' . $sNewValue;
}
} else {
if (PHPFOX_IS_AJAX && $iKey == 'feed' && Phpfox::isModule('comment') && Phpfox::getParam('comment.load_delayed_comments_items')) {
continue;
}
$sParams .= '&' . $iKey . '=' . $sValue;
}
}
}
$aInfo = array('totalPages' => $this->_iPagesCount, 'totalRows' => $this->_iCnt, 'current' => $this->_iPage, 'fromRow' => $this->_iFirstRow + 1, 'toRow' => $this->_iLastRow, 'displaying' => $this->_iCnt <= $this->_iPageSize * $this->_iPage ? $this->_iCnt : $this->_iPageSize * $this->_iPage, 'sParams' => $sParams, 'phrase' => $this->_sPhrase, 'icon' => $this->_sIcon);
list($nStart, $nEnd) = $this->_getPos();
$oUrl = Phpfox::getLib('url');
$oUrl->clearParam('page');
if ($this->_iPage != 1) {
$oUrl->setParam($this->_sUrlKey, 1);
$aInfo['firstAjaxUrl'] = 1;
$aInfo['firstUrl'] = $oUrl->getFullUrl();
$oUrl->setParam($this->_sUrlKey, $this->_iPage - 1);
$aInfo['prevAjaxUrl'] = $this->_iPage - 1;
$aInfo['prevUrl'] = $oUrl->getFullUrl();
Phpfox::getLib('template')->setHeader('<link rel="prev" href="' . $aInfo['prevUrl'] . '" />');
}
for ($i = $nStart; $i <= $nEnd; $i++) {
if ($this->_iPage == $i) {
$oUrl->setParam($this->_sUrlKey, $i);
$aInfo['urls'][$oUrl->getFullUrl()] = $i;
} else {
$oUrl->setParam($this->_sUrlKey, $i);
$aInfo['urls'][$oUrl->getFullUrl()] = $i;
}
}
$oUrl->setParam($this->_sUrlKey, $this->_iPage + 1);
$aInfo['nextAjaxUrlPager'] = $oUrl->getFullUrl();
if ($this->_iPagesCount != $this->_iPage) {
$oUrl->setParam($this->_sUrlKey, $this->_iPage + 1);
$aInfo['nextAjaxUrl'] = $this->_iPage + 1;
$aInfo['nextUrl'] = $oUrl->getFullUrl();
Phpfox::getLib('template')->setHeader('<link rel="next" href="' . $aInfo['nextUrl'] . '" />');
$oUrl->setParam($this->_sUrlKey, $this->_iPagesCount);
$aInfo['lastUrl'] = $oUrl->getFullUrl();
$aInfo['lastAjaxUrl'] = $this->_iPagesCount;
}
$aInfo['sParamsAjax'] = str_replace("'", "\\'", $aInfo['sParams']);
Phpfox::getLib('template')->assign(array('aPager' => $aInfo, 'sAjax' => $this->_sAjax));
}
示例4: getAdminLoginLog
public function getAdminLoginLog($iId)
{
$aLog = $this->database()->select('al.*, ' . Phpfox::getUserField())->from(Phpfox::getT('admincp_login'), 'al')->join(Phpfox::getT('user'), 'u', 'u.user_id = al.user_id')->where('al.login_id = ' . (int) $iId)->execute('getSlaveRow');
if (!isset($aLog['login_id'])) {
return Phpfox_Error::set(Phpfox::getPhrase('admincp.not_a_valid_login_log'));
}
$aLog['attempt'] = $this->_getAdminLoginAttempt($aLog['is_failed']);
$aLog['cache_data'] = unserialize($aLog['cache_data']);
$aLog['cache_data']['request'] = unserialize($aLog['cache_data']['request']);
$aLog['cache_data']['token'] = isset($aLog['cache_data']['request']['phpfox']['security_token']) ? $aLog['cache_data']['request']['phpfox']['security_token'] : $aLog['cache_data']['request'][Phpfox::getTokenName()]['security_token'];
$aLog['cache_data']['email'] = $aLog['cache_data']['request']['val']['email'];
return $aLog;
}
示例5: globalSearch
public function globalSearch($sQuery, $bIsTagSearch = false)
{
$sCondition = 'p.in_process = 0 AND p.view_id = 0 AND p.item_id = 0 AND p.privacy = 0';
if ($bIsTagSearch === false) {
$sCondition .= ' AND (p.title LIKE \'%' . $this->database()->escape($sQuery) . '%\' OR pi.text_parsed LIKE \'%' . $this->database()->escape($sQuery) . '%\')';
}
if ($bIsTagSearch == true) {
$this->database()->innerJoin(Phpfox::getT('tag'), 'tag', 'tag.item_id = p.video_id AND tag.category_id = \'video\' AND tag.tag_url = \'' . $this->database()->escape($sQuery) . '\'');
}
$iCnt = $this->database()->select('COUNT(*)')->from($this->_sTable, 'p')->join(Phpfox::getT('video_text'), 'pi', 'pi.video_id = p.video_id')->where($sCondition)->execute('getSlaveField');
if ($bIsTagSearch == true) {
$this->database()->innerJoin(Phpfox::getT('tag'), 'tag', 'tag.item_id = p.video_id AND tag.category_id = \'video\' AND tag.tag_url = \'' . $this->database()->escape($sQuery) . '\'')->group('p.video_id');
}
$aRows = $this->database()->select('p.title, p.title_url, p.time_stamp, p.image_path, p.image_server_id, ' . Phpfox::getUserField())->from($this->_sTable, 'p')->join(Phpfox::getT('video_text'), 'pi', 'pi.video_id = p.video_id')->join(Phpfox::getT('user'), 'u', 'u.user_id = p.user_id')->where($sCondition)->limit(10)->order('p.time_stamp DESC')->execute('getSlaveRows');
if (count($aRows)) {
$aResults = array();
$aResults['total'] = $iCnt;
$aResults['menu'] = Phpfox::getPhrase('video.videos');
if ($bIsTagSearch == true) {
$aResults['form'] = '<div><input type="button" value="' . Phpfox::getPhrase('video.view_more_videos') . '" class="search_button" onclick="window.location.href = \'' . Phpfox::getLib('url')->makeUrl('video', array('tag', $sQuery)) . '\';" /></div>';
} else {
$aResults['form'] = '<form method="post" action="' . Phpfox::getLib('url')->makeUrl('video') . '"><div><input type="hidden" name="' . Phpfox::getTokenName() . '[security_token]" value="' . Phpfox::getService('log.session')->getToken() . '" /></div><div><input name="search[keyword]" value="' . Phpfox::getLib('parse.output')->clean($sQuery) . '" size="20" type="hidden" /></div><div><input type="submit" name="submit" value="' . Phpfox::getPhrase('video.view_more_videos') . '" class="search_button" /></div></form>';
}
foreach ($aRows as $iKey => $aRow) {
$aResults['results'][$iKey] = array('title' => $aRow['title'], 'link' => Phpfox::getLib('url')->makeUrl($aRow['user_name'], array('video', $aRow['title_url'])), 'image' => Phpfox::getLib('image.helper')->display(array('server_id' => $aRow['image_server_id'], 'title' => $aRow['title'], 'path' => 'video.url_image', 'file' => $aRow['image_path'], 'suffix' => '_120', 'max_width' => 75, 'max_height' => 75)), 'extra_info' => Phpfox::getPhrase('video.video_added_on_time_stamp_by_full_name', array('link' => Phpfox::getLib('url')->makeUrl('video'), 'time_stamp' => Phpfox::getTime(Phpfox::getParam('core.global_update_time'), $aRow['time_stamp']), 'user_link' => Phpfox::getLib('url')->makeUrl($aRow['user_name']), 'full_name' => $this->preParse()->clean($aRow['full_name']))));
}
return $aResults;
}
}
示例6: getHeader
/**
* Gets any data we plan to place within the HTML tags <head></head>.
* This method also groups the data to give the template a nice clean look.
*
* @return string|array $sData Returns the HTML data to be placed within <head></head>
*/
public function getHeader($bReturnArray = false)
{
if (Phpfox::isAdminPanel()) {
$this->setHeader(array('custom.css' => 'style_css'));
}
if ($this->delayedHeaders) {
foreach ($this->delayedHeaders as $header) {
$this->setHeader('cache', $header);
}
}
// $this->setHeader('<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">');
Core\Event::trigger('lib_phpfox_template_getheader', $this);
foreach ((new Core\App())->all() as $App) {
if ($App->head && is_array($App->head)) {
foreach ($App->head as $head) {
$this->setHeader($head);
}
}
if ($App->settings) {
$Setting = new Core\Setting();
foreach ($App->settings as $key => $setting) {
if (isset($setting->js_variable)) {
$this->setHeader('<script>var ' . $key . ' = "' . $Setting->get($key) . '";</script>');
}
}
}
}
$aArrayData = array();
$sData = '';
$sJs = '';
$iVersion = $this->getStaticVersion();
$oUrl = Phpfox_Url::instance();
$aUrl = $oUrl->getParams();
if (!defined('PHPFOX_DESIGN_DND')) {
define('PHPFOX_DESIGN_DND', false);
}
if (!PHPFOX_IS_AJAX_PAGE) {
($sPlugin = Phpfox_Plugin::get('template_getheader')) ? eval($sPlugin) : false;
$sJs .= "\t\t\tvar oCore = {'core.is_admincp': " . (Phpfox::isAdminPanel() ? 'true' : 'false') . ", 'core.section_module': '" . Phpfox_Module::instance()->getModuleName() . "', 'profile.is_user_profile': " . (defined('PHPFOX_IS_USER_PROFILE') && PHPFOX_IS_USER_PROFILE ? 'true' : 'false') . ", 'log.security_token': '" . Phpfox::getService('log.session')->getToken() . "', 'core.url_rewrite': '" . Phpfox::getParam('core.url_rewrite') . "', 'core.country_iso': '" . (Phpfox::isUser() ? Phpfox::getUserBy('country_iso') : '') . "', 'core.can_move_on_a_y_and_x_axis' : " . (!defined('PHPFOX_INSTALLER') && Phpfox::getParam('core.can_move_on_a_y_and_x_axis') ? 'true' : 'false') . ", 'core.default_currency': '" . (defined('PHPFOX_INSTALLER') ? 'USD' : Phpfox::getService('core.currency')->getDefault()) . "', 'core.enabled_edit_area': " . (Phpfox::getParam('core.enabled_edit_area') ? 'true' : 'false') . ", 'core.disable_hash_bang_support': " . (Phpfox::getParam('core.disable_hash_bang_support') ? 'true' : 'false') . ", 'core.site_wide_ajax_browsing': " . (!defined('PHPFOX_IN_DESIGN_MODE') && Phpfox::getParam('core.site_wide_ajax_browsing') && !Phpfox::isAdminPanel() && Phpfox::isUser() ? 'true' : 'false') . ", 'profile.user_id': " . (defined('PHPFOX_IS_USER_PROFILE') && PHPFOX_IS_USER_PROFILE ? Profile_Service_Profile::instance()->getProfileUserId() : 0) . "};\n";
// You are filtering out the controllers which should not load 'content' ajaxly, finding a way for pages.view/1/info and like that
$sProgressCssFile = $this->getStyle('css', 'progress.css');
$sStylePath = str_replace(Phpfox::getParam('core.path'), '', str_replace('progress.css', '', $sProgressCssFile));
$aJsVars = array('sJsHome' => Phpfox::getParam('core.path'), 'sJsHostname' => $_SERVER['HTTP_HOST'], 'sSiteName' => Phpfox::getParam('core.site_title'), 'sJsStatic' => $oUrl->getDomain() . PHPFOX_STATIC, 'sJsStaticImage' => Phpfox::getParam('core.url_static_image'), 'sImagePath' => $this->getStyle('image'), 'sStylePath' => $this->getStyle('css'), 'sVersion' => Phpfox::getId(), 'sJsAjax' => $oUrl->getDomain() . PHPFOX_STATIC . 'ajax.php', 'sStaticVersion' => $iVersion, 'sGetMethod' => PHPFOX_GET_METHOD, 'sDateFormat' => defined('PHPFOX_INSTALLER') ? '' : Phpfox::getParam('core.date_field_order'), 'sEgiftStyle' => $this->getStyle('css', 'display.css', 'egift'), 'sGlobalTokenName' => Phpfox::getTokenName(), 'sController' => Phpfox_Module::instance()->getFullControllerName(), 'bJsIsMobile' => Phpfox::isMobile() ? true : false, 'sProgressCssFile' => $sProgressCssFile, 'sHostedVersionId' => defined('PHPFOX_IS_HOSTED_VERSION') ? PHPFOX_IS_HOSTED_VERSION : '');
if (!defined('PHPFOX_INSTALLER')) {
$aJsVars['bWysiwyg'] = Phpfox::getParam('core.wysiwyg') != 'default' && Phpfox::getParam('core.allow_html') ? true : false;
$aJsVars['sEditor'] = Phpfox::getParam('core.wysiwyg');
$aJsVars['sJsCookiePath'] = Phpfox::getParam('core.cookie_path');
$aJsVars['sJsCookieDomain'] = Phpfox::getParam('core.cookie_domain');
$aJsVars['sJsCookiePrefix'] = Phpfox::getParam('core.session_prefix');
$aJsVars['bPhotoTheaterMode'] = Phpfox::isModule('photo') ? Phpfox::getParam('photo.view_photos_in_theater_mode') : false;
$aJsVars['bUseHTML5Video'] = false;
// ((Phpfox::isModule('video') && Phpfox::getParam('video.upload_for_html5')) ? true : false);
if (Phpfox::isAdmin()) {
$aJsVars['sAdminCPLocation'] = Phpfox::getParam('admincp.admin_cp');
} else {
$aJsVars['sAdminCPLocation'] = '';
}
if (Phpfox::isModule('notification')) {
$aJsVars['notification.notify_ajax_refresh'] = Phpfox::getParam('notification.notify_ajax_refresh');
}
$sLocalDatepicker = PHPFOX_STATIC . 'jscript/jquery/locale/jquery.ui.datepicker-' . strtolower(Phpfox_Locale::instance()->getLangId()) . '.js';
if (file_exists($sLocalDatepicker)) {
$sFile = str_replace(PHPFOX_STATIC . 'jscript/', '', $sLocalDatepicker);
$this->setHeader(array($sFile => 'static_script'));
}
/* Only in a few cases will we want to add the visitor's IP */
if (Phpfox::getParam('core.google_api_key') != '' && Phpfox::getParam('core.ip_infodb_api_key')) {
// $aJsVars['sIP'] = Phpfox_Request::instance()->getIp();
}
$aJsVars['bEnableMicroblogSite'] = Phpfox::isModule('microblog') ? Phpfox::getParam('microblog.enable_microblog_site') : false;
}
($sPlugin = Phpfox_Plugin::get('template_getheader_setting')) ? eval($sPlugin) : false;
if (Phpfox::isModule('input') && false) {
$this->setHeader('cache', array('browse.css' => 'style_css'));
}
$sJs .= "\t\t\tvar oParams = {";
$iCnt = 0;
foreach ($aJsVars as $sVar => $sValue) {
$iCnt++;
if ($iCnt != 1) {
$sJs .= ",";
}
if (is_bool($sValue)) {
$sJs .= "'{$sVar}': " . ($sValue ? 'true' : 'false');
} elseif (is_numeric($sValue)) {
$sJs .= "'{$sVar}': " . $sValue;
} else {
$sJs .= "'{$sVar}': '" . str_replace("'", "\\'", $sValue) . "'";
}
}
$sJs .= "};\n";
if (!defined('PHPFOX_INSTALLER')) {
$aLocaleVars = array('core.are_you_sure', 'core.yes', 'core.no', 'core.save', 'core.cancel', 'core.go_advanced', 'core.processing', 'emoticon.emoticons', 'attachment.attach_files', 'core.close', 'core.language_packages', 'core.move_this_block', 'core.uploading', 'language.loading', 'core.saving', 'core.loading_text_editor', 'core.quote', 'core.loading');
if (Phpfox::isModule('im') && Phpfox::getParam('im.enable_im_in_footer_bar')) {
//.........这里部分代码省略.........
示例7: isUser
/**
* Quick function that can be used to identify if a user is logged it or not and if not
* they will not be able to use the specific feature and display a login form.
*
* @return mixed Returns true if they are logged in or simply exisits the script and returns JavaScript to display the login form.
*/
public function isUser()
{
if (!Phpfox::isUser()) {
if (isset(self::$_aParams['width'])) {
echo '<script type="text/javascript">$(\'.js_box_title\').html(\'' . Phpfox::getPhrase('user.login_ajax') . '\');</script>';
Phpfox::getBlock('user.login-ajax');
} else {
if (Phpfox_Request::instance()->get('do') != '') {
Phpfox::getLib('session')->set('redirect', Phpfox_Request::instance()->get('do'));
}
echo "tb_show('" . Phpfox::getPhrase('user.login_title') . "', \$.ajaxBox('user.login', 'height=250&width=400" . (isset(self::$_aParams[Phpfox::getTokenName()]['is_admincp']) && self::$_aParams[Phpfox::getTokenName()]['is_admincp'] ? '&' . Phpfox::getTokenName() . '[is_admincp]=1' : '') . "'));";
echo "\$('body').css('cursor', 'auto');";
}
exit;
}
return true;
}
示例8: _getInfo
/**
* Returns paging info: 'totalPages', 'totalRows', 'current', 'fromRow','toRow', 'firstUrl', 'prevUrl', 'nextUrl', 'lastUrl', 'urls' (url=>page)
*
* @param Url $oUrl page url
* @return array paging info
*/
private function _getInfo()
{
$sParams = '';
if (count($this->_aParams))
{
foreach ($this->_aParams as $iKey => $sValue)
{
if (in_array($iKey, array(
'phpfox',
Phpfox::getTokenName(),
'page',
PHPFOX_GET_METHOD,
'ajax_page_display'
)
)
)
{
continue;
}
$sParams .= '&' . $iKey . '=' . $sValue;
}
}
$aInfo = array(
'totalPages' => $this->_iPagesCount,
'totalRows' => $this->_iCnt,
'current' => $this->_iPage,
'fromRow' => $this->_iFirstRow+1,
'toRow' => $this->_iLastRow,
'displaying' => ($this->_iCnt <= ($this->_iPageSize * $this->_iPage) ? $this->_iCnt : ($this->_iPageSize * $this->_iPage)),
'sParams' => $sParams,
'phrase' => $this->_sPhrase,
'icon' => $this->_sIcon
);
list($nStart, $nEnd) = $this->_getPos();
$oUrl = Phpfox::getLib('url');
$oUrl->clearParam('page');
if ($this->_iPage != 1)
{
$oUrl->setParam($this->_sUrlKey, 1);
$aInfo['firstAjaxUrl'] = 1;
$aInfo['firstUrl'] = $oUrl->getFullUrl();
$oUrl->setParam($this->_sUrlKey, $this->_iPage-1);
$aInfo['prevAjaxUrl'] = ($this->_iPage-1);
$aInfo['prevUrl'] = $oUrl->getFullUrl();
}
for ($i = $nStart; $i <= $nEnd; $i++)
{
if ($this->_iPage == $i)
{
$oUrl->setParam($this->_sUrlKey, $i);
$aInfo['urls'][$oUrl->getFullUrl()] = $i;
}
else
{
$oUrl->setParam($this->_sUrlKey, $i);
$aInfo['urls'][$oUrl->getFullUrl()] = $i;
}
}
$oUrl->setParam($this->_sUrlKey, ($this->_iPage + 1));
$aInfo['nextAjaxUrlPager'] = $oUrl->getFullUrl();
if ($this->_iPagesCount != $this->_iPage)
{
$oUrl->setParam($this->_sUrlKey, ($this->_iPage + 1));
$aInfo['nextAjaxUrl'] = ($this->_iPage + 1);
$aInfo['nextUrl'] = $oUrl->getFullUrl();
$oUrl->setParam($this->_sUrlKey, $this->_iPagesCount);
$aInfo['lastUrl']= $oUrl->getFullUrl();
$aInfo['lastAjaxUrl'] = $this->_iPagesCount;
}
Phpfox::getLib('template')->assign(array(
'aPager' => $aInfo,
'sAjax' => $this->_sAjax
)
);
}
示例9: globalSearch
public function globalSearch($sQuery, $bIsTagSearch = false)
{
($sPlugin = Phpfox_Plugin::get('blog.component_service_callback_globalsearch__start')) ? eval($sPlugin) : false;
$sCondition = 'b.is_approved = 1 AND b.privacy = 1 AND b.post_status = 1';
if ($bIsTagSearch == false) {
$sCondition .= ' AND (b.title LIKE \'%' . $this->database()->escape($sQuery) . '%\' OR bt.text_parsed LIKE \'%' . $this->database()->escape($sQuery) . '%\')';
}
if ($bIsTagSearch == true) {
$this->database()->innerJoin(Phpfox::getT('tag'), 'tag', 'tag.item_id = b.blog_id AND tag.category_id = \'blog\' AND tag.tag_url = \'' . $this->database()->escape($sQuery) . '\'');
}
$iCnt = $this->database()->select('COUNT(*)')->from($this->_sTable, 'b')->join(Phpfox::getT('blog_text'), 'bt', 'bt.blog_id = b.blog_id')->where($sCondition)->execute('getSlaveField');
if ($bIsTagSearch == true) {
$this->database()->innerJoin(Phpfox::getT('tag'), 'tag', 'tag.item_id = b.blog_id AND tag.category_id = \'blog\' AND tag.tag_url = \'' . $this->database()->escape($sQuery) . '\'')->group('b.blog_id');
}
$aRows = $this->database()->select('b.title, b.title_url, b.time_stamp, ' . Phpfox::getUserField())->from($this->_sTable, 'b')->join(Phpfox::getT('blog_text'), 'bt', 'bt.blog_id = b.blog_id')->join(Phpfox::getT('user'), 'u', 'u.user_id = b.user_id')->where($sCondition)->limit(10)->order('b.time_stamp DESC')->execute('getSlaveRows');
if (count($aRows)) {
$aResults = array();
$aResults['total'] = $iCnt;
$aResults['menu'] = Phpfox::getPhrase('blog.search_blogs');
if ($bIsTagSearch == true) {
$aResults['form'] = '<div><input type="button" value="' . Phpfox::getPhrase('blog.view_more_blogs') . '" class="search_button" onclick="window.location.href = \'' . Phpfox_Url::instance()->makeUrl('blog', array('tag', $sQuery)) . '\';" /></div>';
} else {
$aResults['form'] = '<form method="post" action="' . Phpfox_Url::instance()->makeUrl('blog') . '"><div><input type="hidden" name="' . Phpfox::getTokenName() . '[security_token]" value="' . Phpfox::getService('log.session')->getToken() . '" /></div><div><input name="search[search]" value="' . Phpfox::getLib('parse.output')->clean($sQuery) . '" size="20" type="hidden" /></div><div><input type="submit" name="search[submit]" value="' . Phpfox::getPhrase('blog.view_more_blogs') . '" class="search_button" /></div></form>';
}
foreach ($aRows as $iKey => $aRow) {
$aResults['results'][$iKey] = array('title' => $aRow['title'], 'link' => Phpfox_Url::instance()->makeUrl($aRow['user_name'], array('blog', $aRow['title_url'])), 'image' => Phpfox::getLib('image.helper')->display(array('server_id' => $aRow['server_id'], 'title' => $aRow['full_name'], 'path' => 'core.url_user', 'file' => $aRow['user_image'], 'suffix' => '_120', 'max_width' => 75, 'max_height' => 75)), 'extra_info' => Phpfox::getPhrase('blog.blog_created_on_time_stamp_by_full_name', array('link' => Phpfox_Url::instance()->makeUrl('blog'), 'time_stamp' => Phpfox::getTime(Phpfox::getParam('core.global_update_time'), $aRow['time_stamp']), 'user_link' => Phpfox_Url::instance()->makeUrl($aRow['user_name']), 'full_name' => $aRow['full_name'])));
}
($sPlugin = Phpfox_Plugin::get('blog.component_service_callback_globalsearch__return')) ? eval($sPlugin) : false;
return $aResults;
}
($sPlugin = Phpfox_Plugin::get('blog.component_service_callback_globalsearch__end')) ? eval($sPlugin) : false;
}
示例10: getHeader
/**
* Gets any data we plan to place within the HTML tags <head></head>.
* This method also groups the data to give the template a nice clean look.
*
* @return string $sData Returns the HTML data to be placed within <head></head>
*/
public function getHeader($bReturnArray = false)
{
if (Phpfox::isMobile()) {
$this->setHeader(array('mobile.css' => 'style_css'));
}
if (!defined('PHPFOX_INSTALLER')) {
$this->setHeader(array('custom.css' => 'style_css'));
$aLocale = Phpfox::getLib('locale')->getLang();
if ($aLocale['direction'] == 'rtl') {
$this->setHeader(array('rtl.css' => 'style_css'));
}
$sCustomCss = '';
$aThemeCache = $this->getThemeCache();
if (isset($aThemeCache['l_width']) && $aThemeCache['l_width'] > 0) {
$sCustomCss .= '#left { width:' . (int) $aThemeCache['l_width'] . 'px; }';
$sCustomCss .= '#main_content { margin-left:' . (int) $aThemeCache['l_width'] . 'px; }';
}
if (isset($aThemeCache['c_width']) && $aThemeCache['c_width'] > 0) {
$sCustomCss .= '.content3, .item_view .js_feed_comment_border, .item_view .item_tag_holder, .item_view .attachment_holder_view { width:' . (int) $aThemeCache['c_width'] . 'px; }';
}
if (isset($aThemeCache['r_width']) && $aThemeCache['r_width'] > 0) {
$sCustomCss .= '#right { width:' . (int) $aThemeCache['r_width'] . 'px; }';
$sCustomCss .= '.content4 { width:' . (960 - (int) $aThemeCache['r_width']) . 'px; }';
}
if (!empty($sCustomCss)) {
$this->setHeader('<style type="text/css">' . $sCustomCss . '</style>');
}
}
$aArrayData = array();
$sData = '';
$sCss = '';
$sJs = '';
$iVersion = $this->getStaticVersion();
$oUrl = Phpfox::getLib('url');
if (defined('PHPFOX_IS_HOSTED_SCRIPT')) {
$oCache = Phpfox::getLib('cache');
} else {
$oCache = Phpfox::getLib('cache', array('storage' => 'file', 'free' => true));
}
$aUrl = $oUrl->getParams();
if (Phpfox::getUserParam('core.can_design_dnd') && Phpfox::getService('theme')->isInDnDMode() && (!isset($aUrl['req2']) || $aUrl['req2'] != 'designer')) {
if (!defined('PHPFOX_DESIGN_DND')) {
define('PHPFOX_DESIGN_DND', true);
}
/* .
* Tells if the user is Design mode with Drag and Drop support.
* Its important to note the difference in the purpose of this
* constant as it does Not tell if the user CAN enter DesignDND
* mode but instead it tells if the user IS already in this
* mode
* .
*/
$this->_aHeaders[] = array('designdnd.js' => 'module_theme');
} else {
if (!defined('PHPFOX_DESIGN_DND')) {
define('PHPFOX_DESIGN_DND', false);
}
}
if (!PHPFOX_IS_AJAX_PAGE) {
if (!defined('PHPFOX_INSTALLER')) {
if (!Phpfox::isAdminPanel()) {
$oDb = Phpfox::getLib('database');
$oFileCache = Phpfox::getLib('cache');
$sFileThemeCssId = $oFileCache->set(array('theme', 'theme_css' . $iVersion));
$aCacheStyles = array();
if (!($aCacheStyles = $oFileCache->get($sFileThemeCssId))) {
$aSavedStyles = $oDb->select('tc.module_id, tc.file_name')->from(Phpfox::getT('theme_css'), 'tc')->where('style_id = ' . (int) $this->_aTheme['style_id'] . '')->execute('getRows');
foreach ($aSavedStyles as $aSavedStyle) {
$aCacheStyles[$aSavedStyle['module_id'] ? $aSavedStyle['module_id'] : null][$aSavedStyle['file_name']] = true;
}
$oFileCache->save($sFileThemeCssId, $aCacheStyles);
}
}
}
($sPlugin = Phpfox_Plugin::get('template_getheader')) ? eval($sPlugin) : false;
$sJs .= "\t\t\tvar oCore = {'core.is_admincp': " . (Phpfox::isAdminPanel() ? 'true' : 'false') . ", 'core.section_module': '" . Phpfox::getLib('module')->getModuleName() . "', 'profile.is_user_profile': " . (defined('PHPFOX_IS_USER_PROFILE') && PHPFOX_IS_USER_PROFILE ? 'true' : 'false') . ", 'log.security_token': '" . Phpfox::getService('log.session')->getToken() . "', 'core.url_rewrite': '" . Phpfox::getParam('core.url_rewrite') . "', 'core.country_iso': '" . (Phpfox::isUser() ? Phpfox::getUserBy('country_iso') : '') . "', 'core.can_move_on_a_y_and_x_axis' : " . (!defined('PHPFOX_INSTALLER') && Phpfox::getParam('core.can_move_on_a_y_and_x_axis') ? 'true' : 'false') . ", 'core.default_currency': '" . (defined('PHPFOX_INSTALLER') ? 'USD' : Phpfox::getService('core.currency')->getDefault()) . "', 'core.enabled_edit_area': " . (Phpfox::getParam('core.enabled_edit_area') ? 'true' : 'false') . ", 'core.disable_hash_bang_support': " . (Phpfox::getParam('core.disable_hash_bang_support') ? 'true' : 'false') . ", 'core.site_wide_ajax_browsing': " . (!defined('PHPFOX_IN_DESIGN_MODE') && Phpfox::getParam('core.site_wide_ajax_browsing') && !Phpfox::isAdminPanel() && Phpfox::isUser() ? 'true' : 'false') . ", 'profile.user_id': " . (defined('PHPFOX_IS_USER_PROFILE') && PHPFOX_IS_USER_PROFILE ? Phpfox::getService('profile')->getProfileUserId() : 0) . "};\n";
// You are filtering out the controllers which should not load 'content' ajaxly, finding a way for pages.view/1/info and like that
$sProgressCssFile = $this->getStyle('css', 'progress.css');
$sStylePath = str_replace(Phpfox::getParam('core.path'), '', str_replace('progress.css', '', $sProgressCssFile));
$aJsVars = array('sJsHome' => Phpfox::getParam('core.path'), 'sJsHostname' => $_SERVER['HTTP_HOST'], 'sSiteName' => Phpfox::getParam('core.site_title'), 'sJsStatic' => $oUrl->getDomain() . PHPFOX_STATIC, 'sJsStaticImage' => Phpfox::getParam('core.url_static_image'), 'sImagePath' => $this->getStyle('image'), 'sStylePath' => $this->getStyle('css'), 'sVersion' => Phpfox::getId(), 'sJsAjax' => $oUrl->getDomain() . PHPFOX_STATIC . 'ajax.php', 'sStaticVersion' => $iVersion, 'sGetMethod' => PHPFOX_GET_METHOD, 'sDateFormat' => defined('PHPFOX_INSTALLER') ? '' : Phpfox::getParam('core.date_field_order'), 'sJsAjax' => $oUrl->getDomain() . PHPFOX_STATIC . 'ajax.php', 'sEgiftStyle' => $this->getStyle('css', 'display.css', 'egift'), 'sGlobalTokenName' => Phpfox::getTokenName(), 'sController' => Phpfox::getLib('module')->getFullControllerName(), 'bJsIsMobile' => Phpfox::isMobile() ? true : false, 'sProgressCssFile' => $sProgressCssFile, 'sHostedVersionId' => defined('PHPFOX_IS_HOSTED_VERSION') ? PHPFOX_IS_HOSTED_VERSION : '');
if (!defined('PHPFOX_INSTALLER')) {
$aJsVars['bWysiwyg'] = Phpfox::getParam('core.wysiwyg') != 'default' && Phpfox::getParam('core.allow_html') ? true : false;
$aJsVars['sEditor'] = Phpfox::getParam('core.wysiwyg');
$aJsVars['sJsCookiePath'] = Phpfox::getParam('core.cookie_path');
$aJsVars['sJsCookieDomain'] = Phpfox::getParam('core.cookie_domain');
$aJsVars['sJsCookiePrefix'] = Phpfox::getParam('core.session_prefix');
$aJsVars['bPhotoTheaterMode'] = Phpfox::isModule('photo') ? Phpfox::getParam('photo.view_photos_in_theater_mode') : false;
$aJsVars['bUseHTML5Video'] = Phpfox::getParam('video.upload_for_html5') ? true : false;
if (Phpfox::isAdmin()) {
$aJsVars['sAdminCPLocation'] = Phpfox::getParam('admincp.admin_cp');
} else {
$aJsVars['sAdminCPLocation'] = '';
}
if (Phpfox::isModule('notification')) {
//.........这里部分代码省略.........
示例11: display
//.........这里部分代码省略.........
uasort($aUserPicSizes, array($this, '_cmp'));
if (isset($aUserPicSizes[0])) {
$sSrc = $aMatches[1] . '_' . $aUserPicSizes[0] . preg_replace("/([0-9])/i", "", $aMatches[2]) . '.' . $aMatches[3];
}
} else {
if (!file_exists(str_replace(Phpfox::getParam('core.path'), PHPFOX_DIR, $sSrc))) {
$sSrc = $aMatches[1] . '.' . $aMatches[3];
}
}
}
} else {
if (preg_match("/^(.*)_square\\.(.*?)\$/i", $sSrc, $aMatches)) {
$sNewSrc = $aMatches[1] . '.' . $aMatches[2];
if (file_exists(str_replace(Phpfox::getParam('core.path'), PHPFOX_DIR, $sNewSrc))) {
$sSrc = $sNewSrc;
}
}
}
}
$sDirSrc = str_replace(Phpfox::getParam('core.path'), PHPFOX_DIR, $sSrc);
if ($bIsServer === true) {
if (Phpfox::getParam('core.allow_cdn')) {
if (!$bIsValid) {
} else {
$sSrc = Phpfox::getLib('cdn')->getUrl($sSrc, $aParams['server_id']);
}
} else {
if (substr($aParams['file'], 0, 7) == 'http://') {
$sSrc = $aParams['file'];
}
}
}
if (!defined('PHPFOX_INSTALLER') && Phpfox::isModule('photo') && Phpfox::getParam('photo.protect_photos_from_public') && preg_match("/photo/i", $sDirSrc)) {
$_SESSION[Phpfox::getTokenName()]['image']['photo_' . md5($sDirSrc)] = true;
}
if (isset($aParams['max_height']) && isset($aParams['max_width'])) {
if ($bIsServer === true) {
if (file_exists($sDirSrc) && !is_dir($sDirSrc)) {
list($iHeight, $iWidth) = $this->getNewSize($sDirSrc, $aParams['max_height'], $aParams['max_width']);
} else {
preg_match('/(.*)\\/(.*)-(.*)-(.*)_(.*?)/i', $aParams['file'], $aLbMatches);
if (isset($aLbMatches[2]) && isset($aLbMatches[3])) {
list($iHeight, $iWidth) = $this->getNewSize(null, $aParams['max_height'], $aParams['max_width'], $aLbMatches[2], $aLbMatches[3]);
} else {
$bNoWidthHeightFound = true;
}
}
} else {
if (isset($bForcePassImage) && $bForcePassImage === true) {
$sDirSrc = $sNewDirSrc;
}
if (file_exists($sDirSrc) && !is_dir($sDirSrc)) {
list($iHeight, $iWidth) = $this->getNewSize($sDirSrc, $aParams['max_height'], $aParams['max_width']);
} else {
if (isset($aParams['no_default']) && $aParams['no_default']) {
return '';
}
$iWidth = $aParams['max_width'];
$iHeight = $aParams['max_height'];
if ($aParams['max_width'] > 120) {
$iWidth = 120;
$iHeight = 105;
}
$sSize = '';
if (strpos($sSrc, '_') && preg_match("/^(.*?)_(.*?)\\.(.*?)\$/i", $sSrc, $aMatches) && isset($aMatches[2]) && in_array($aMatches[2], array(20, 50, 60, 75, 100, 120))) {
$sSize = $aMatches[1] == 'thumb' || $aMatches[1] == 'view' ? '' : '_' . $aMatches[2];
示例12:
<?php
}
}
?>
</ul>
<?php
}
?>
<div class="clear"></div>
</div>
<div class="activity_feed_form">
<form method="post" action="#" id="js_activity_feed_form" enctype="multipart/form-data">
<?php
echo '<div><input type="hidden" name="' . Phpfox::getTokenName() . '[security_token]" value="' . Phpfox::getService('log.session')->getToken() . '" /></div>';
?>
<div id="js_custom_privacy_input_holder"></div>
<?php
if (Phpfox::getParam('video.convert_servers_enable') && isset($this->_aVars['sCustomVideoHash'])) {
?>
<div><input type="hidden" name="_v_hash" value="<?php
echo $this->_aVars['sCustomVideoHash'];
?>
" /></div>
<?php
}
if (isset($this->_aVars['aFeedCallback']['module'])) {
?>
<div><input type="hidden" name="val[callback_item_id]" value="<?php
echo $this->_aVars['aFeedCallback']['item_id'];
示例13: run
public function run()
{
$oRequest = Phpfox::getLib('request');
$db = PhpFox::getLib('database');
// Limit per page, start offset at zero
$iOffset = (int) $oRequest->get('offset', 0);
$sAction = $oRequest->get('Confirm', 'Start');
$iLimit = 500;
$aPrivacySettings = array();
//Set form token for version 3xx
if ((int) substr(Phpfox::getVersion(), 0, 1) < 3) {
$s1 = 'v2_no_token';
$s2 = 'v2_no_token';
} else {
$s1 = Phpfox::getTokenName();
$s2 = Phpfox::getService('log.session')->getToken();
}
// Run only if Userpresets Module is present
if (!phpFox::isModule('Userpresets')) {
die('User Preset addon must be present.');
}
// Set profile privacy based upon admincp setting
switch (Phpfox::getParam('user.on_register_privacy_setting')) {
case 'network':
$aPrivacySettings['profile.view_profile'] = '1';
break;
case 'friends_only':
$aPrivacySettings['profile.view_profile'] = '2';
break;
case 'no_one':
$aPrivacySettings['profile.view_profile'] = '4';
break;
default:
break;
}
// Get Userpreset parameters and build the privacy array
$aSettings = Phpfox::getService('admincp.setting')->search("product_id = 'Preset_New_User'");
foreach ($aSettings as $aSetting) {
$aParts = explode('__', $aSetting['var_name']);
if (phpFox::isModule($aParts[0])) {
$sUserPrivacy = str_replace('__', '.', $aSetting['var_name']);
$sGetParam = $aSetting['module_id'] . '.' . $aSetting['var_name'];
if ($aSetting['type_id'] == 'drop') {
$iPrivacySetting = NULL;
$iPrivacySetting = Phpfox::getParam($sGetParam);
if (isset($iPrivacySetting) && (int) $iPrivacySetting > 0) {
$aPrivacySettings[$sUserPrivacy] = $iPrivacySetting;
}
}
}
}
if ($sAction == 'Start') {
//add confirm form
$iTotUsers = $db->select('COUNT(*)')->from(Phpfox::getT('user'))->where('view_id = 0')->execute('getField');
$iTotPrivacy = $db->select('COUNT(*)')->from(Phpfox::getT('user_privacy'))->execute('getField');
$iTotNewPrivacy = count($aPrivacySettings);
$sWarn = 'This action will remove approximately ' . $iTotPrivacy . ' Records from ' . $iTotUsers . ' users from the user privacy table and
replace them with approximately ' . $iTotUsers * $iTotNewPrivacy . ' records. The new settings will be taken from the parameters that
you have set in the New User Privacy Setting Module. <br /><br />
This will not affect the operation of PhpFox but it will nullify any privacy
settings that your users have set in favor of the ones that you will be setting.
<br /><br />Do you want to continue?';
echo '
<div style="width:500px;margin:0px auto;text-align:left;padding:15px;border:1px solid #333;background-color:#eee;">
<div> ' . $sWarn . ' </div>
<form method="POST" name="form" id="form" action="http://' . Phpfox::getParam('core.host') . '/tools/dbfixPRIVACY.php">
<div><input type="hidden" name="' . $s1 . '[security_token]" value="' . $s2 . '" /></div>
<div style="width:400px;margin:0px auto;text-align:right;padding:15px;background-color:#eee;">
<input type=hidden name="offset" value="0">
<input type="submit" name="Confirm" value="Continue" />
<input type="submit" name="Confirm" value="Cancel" />
</div>
</form>
</div>';
}
if ($sAction == 'Cancel') {
die("No Records Changed");
}
// Empty privacy table at start of batch
if ($sAction == 'Continue' && $iOffset == 0) {
$db->query('TRUNCATE ' . Phpfox::getT('user_privacy'));
echo 'Processing records from ' . $iOffset . ' to ' . ($iOffset + $iLimit) . '<br />';
}
if ($sAction == 'Continue') {
// For each user
$aRows = $this->database()->select('user_id')->from(Phpfox::getT('user'))->order('user_id')->where('view_id = 0')->limit($iOffset, $iLimit)->execute('getSlaveRows');
$iCount = 0;
foreach ($aRows as $row) {
++$iCount;
$userid = $row['user_id'];
$s = '';
foreach ($aPrivacySettings as $k => $v) {
$s .= "({$userid}, '{$k}',{$v}),";
}
$s = 'INSERT INTO ' . Phpfox::getT('user_privacy') . " (`user_id`, `user_privacy`, `user_value`) VALUES" . substr($s, 0, -1);
$db->query($s);
}
// Did do a full batch?
if ($iCount == $iLimit) {
// Get another batch
//.........这里部分代码省略.........
示例14: isUser
/**
* Quick function that can be used to identify if a user is logged it or not and if not
* they will not be able to use the specific feature and display a login form.
*
* @return mixed Returns true if they are logged in or simply exisits the script and returns JavaScript to display the login form.
*/
public function isUser()
{
if (!Phpfox::isUser())
{
if (isset(self::$_aParams['width'])) // && isset(self::$_aParams['height']))
{
// echo '<script type="text/javascript">$(\'#TB_ajaxContent\').height(210); tb_position(210); $(\'body\').css(\'cursor\', \'auto\');</script>';
Phpfox::getBlock('user.login-ajax');
}
else
{
if (Phpfox::getLib('request')->get('do') != '')
{
Phpfox::getLib('session')->set('redirect', Phpfox::getLib('request')->get('do'));
}
echo "tb_show('" . Phpfox::getPhrase('user.login_title') . "', \$.ajaxBox('user.login', 'height=250&width=400" . ((isset(self::$_aParams[Phpfox::getTokenName()]['is_admincp']) && self::$_aParams[Phpfox::getTokenName()]['is_admincp']) ? '&' . Phpfox::getTokenName() . '[is_admincp]=1' : '') . "'));";
echo "$('body').css('cursor', 'auto');";
}
exit;
}
return true;
}
示例15: getHeader
//.........这里部分代码省略.........
->where('style_id = ' . (int) $this->_aTheme['style_id'] . '')
->execute('getRows');
foreach ($aSavedStyles as $aSavedStyle)
{
$aCacheStyles[($aSavedStyle['module_id'] ? $aSavedStyle['module_id'] : null)][$aSavedStyle['file_name']] = true;
}
$oFileCache->save($sFileThemeCssId, $aCacheStyles);
}
}
}
(($sPlugin = Phpfox_Plugin::get('template_getheader')) ? eval($sPlugin) : false);
$sJs .= "\t\t\tvar oCore = {'core.is_admincp': " . (Phpfox::isAdminPanel() ? 'true' : 'false') . ", 'core.section_module': '" . Phpfox::getLib('module')->getModuleName() . "', 'profile.is_user_profile': " . (defined('PHPFOX_IS_USER_PROFILE') && PHPFOX_IS_USER_PROFILE ? 'true' : 'false') . ", 'log.security_token': '" . Phpfox::getService('log.session')->getToken() . "', 'core.url_rewrite': '" . Phpfox::getParam('core.url_rewrite') . "', 'core.country_iso': '" . (Phpfox::isUser() ? Phpfox::getUserBy('country_iso') : '') . "', 'core.can_move_on_a_y_and_x_axis' : " . ((!defined('PHPFOX_INSTALLER') && Phpfox::getParam('core.can_move_on_a_y_and_x_axis')) ? 'true' : 'false') . ", 'core.default_currency': '" . (defined('PHPFOX_INSTALLER') ? 'USD' : Phpfox::getService('core.currency')->getDefault()) . "', 'core.enabled_edit_area': " . (Phpfox::getParam('core.enabled_edit_area') ? 'true' : 'false') . ", 'core.disable_hash_bang_support': " . (Phpfox::getParam('core.disable_hash_bang_support') ? 'true' : 'false') . ", 'core.site_wide_ajax_browsing': " . ((!defined('PHPFOX_IN_DESIGN_MODE') && Phpfox::getParam('core.site_wide_ajax_browsing') && !Phpfox::isAdminPanel() && Phpfox::isUser()) ? 'true' : 'false') . ", 'profile.user_id': " . (defined('PHPFOX_IS_USER_PROFILE') && PHPFOX_IS_USER_PROFILE ? Phpfox::getService('profile')->getProfileUserId() : 0) . "};\n";
$sProgressCssFile = $this->getStyle('css', 'progress.css');
$sStylePath = str_replace(Phpfox::getParam('core.path'), '', str_replace('progress.css', '', $sProgressCssFile));
$aJsVars = array(
'sJsHome' => Phpfox::getParam('core.path'),
'sJsHostname' => $_SERVER['HTTP_HOST'],
'sJsStatic' => $oUrl->getDomain() . PHPFOX_STATIC,
'sJsStaticImage' => Phpfox::getParam('core.url_static_image'),
'sImagePath' => $this->getStyle('image'),
'sStylePath' => $this->getStyle('css'),
'sVersion' => Phpfox::getId(),
'sJsAjax' => $oUrl->getDomain() . PHPFOX_STATIC . 'ajax.php',
'sStaticVersion' => $iVersion,
'sGetMethod' => PHPFOX_GET_METHOD,
'sDateFormat' => (defined('PHPFOX_INSTALLER') ? '' : Phpfox::getParam('core.date_field_order')),
'sJsAjax' => $oUrl->getDomain() . PHPFOX_STATIC . 'ajax.php',
'sEgiftStyle' => $this->getStyle('css','display.css','egift'),
'sGlobalTokenName' => Phpfox::getTokenName(),
'sController' => Phpfox::getLib('module')->getFullControllerName(),
'bJsIsMobile' => (Phpfox::isMobile() ? true : false),
'sProgressCssFile' => $sProgressCssFile
);
if (!defined('PHPFOX_INSTALLER'))
{
$aJsVars['bWysiwyg'] = ((Phpfox::getParam('core.wysiwyg') != 'default' && Phpfox::getParam('core.allow_html')) ? true : false);
$aJsVars['sEditor'] = Phpfox::getParam('core.wysiwyg');
$aJsVars['sJsCookiePath'] = Phpfox::getParam('core.cookie_path');
$aJsVars['sJsCookieDomain'] = Phpfox::getParam('core.cookie_domain');
$aJsVars['sJsCookiePrefix'] = Phpfox::getParam('core.session_prefix');
$aJsVars['bPhotoTheaterMode'] = (Phpfox::isModule('photo') ? Phpfox::getParam('photo.view_photos_in_theater_mode') : false);
if (Phpfox::isAdmin())
{
$aJsVars['sAdminCPLocation'] = Phpfox::getParam('admincp.admin_cp');
}
else
{
$aJsVars['sAdminCPLocation'] = '';
}
if (Phpfox::isModule('notification'))
{
$aJsVars['notification.notify_ajax_refresh'] = Phpfox::getParam('notification.notify_ajax_refresh');
}
if (Phpfox::isModule('im'))
{
$aJsVars['im_interval_for_update'] = Phpfox::getParam('im.js_interval_value');
if (Phpfox::getParam('im.server_for_ajax_calls') != '')
{
$aJsVars['im_server'] = Phpfox::getParam('im.server_for_ajax_calls');
}