本文整理汇总了PHP中CB\Database\Table\UserTable::get方法的典型用法代码示例。如果您正苦于以下问题:PHP UserTable::get方法的具体用法?PHP UserTable::get怎么用?PHP UserTable::get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CB\Database\Table\UserTable
的用法示例。
在下文中一共展示了UserTable::get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: showAbout
/**
* prepare frontend about render
*
* @param string $return
* @param GroupTable $group
* @param string $users
* @param string $invites
* @param array $counters
* @param array $buttons
* @param array $menu
* @param cbTabs $tabs
* @param UserTable $user
* @return array|null
*/
public function showAbout( &$return, &$group, &$users, &$invites, &$counters, &$buttons, &$menu, &$tabs, $user )
{
global $_CB_framework;
if ( CBGroupJive::isModerator( $user->get( 'id' ) ) || ( ( $group->get( 'published' ) == 1 ) && ( CBGroupJive::getGroupStatus( $user, $group ) >= 3 ) ) ) {
$menu[] = '<a href="' . $_CB_framework->pluginClassUrl( $this->element, true, array( 'action' => 'about', 'func' => 'edit', 'id' => (int) $group->get( 'id' ) ) ) . '"><span class="fa fa-edit"></span> ' . CBTxt::T( 'About' ) . '</a>';
}
$about = trim( $group->params()->get( 'about_content' ) );
if ( ( ! $about ) || ( $about == '<p></p>' ) ) {
return null;
}
CBGroupJive::getTemplate( 'about', true, true, $this->element );
if ( $this->params->get( 'groups_about_substitutions', 0 ) ) {
$about = CBuser::getInstance( (int) $user->get( 'id' ), false )->replaceUserVars( $about, false, false, null, false );
}
if ( $this->params->get( 'groups_about_content_plugins', 0 ) ) {
$about = Application::Cms()->prepareHtmlContentPlugins( $about );
}
return array( 'id' => 'about',
'title' => CBTxt::T( 'About' ),
'content' => HTML_groupjiveAbout::showAbout( $about, $group, $user, $this )
);
}
示例2: _evaluateCbFields
/**
* Evaluate CB Fields replacements
*
* @access private (public because it's recursively calling itself in the preg_replace_callback function at bottom)
*
* @param string|array $input
* @param boolean|array $htmlspecialcharsParam on replaced values only: FALSE : no htmlspecialchars, TRUE: do htmlspecialchars, ARRAY: callback method
* @return string
*/
public function _evaluateCbFields( $input, $htmlspecialcharsParam = null )
{
static $htmlspecialchars = null;
$regex = '/\[([\w-]+)\]/';
if ( is_array( $input ) ) {
$val = $this->getField( $input[1], null, 'php', 'none', 'profile', 0, true ); // allow accessing all fields in the data
if ( is_array( $val ) ) {
$val = array_shift( $val );
if ( is_array( $val ) ) {
$val = implode( '|*|', $val );
}
} elseif ( isset( $this->_cbuser->$input[1] ) ) {
$val = $this->_cbuser->get( $input[1] );
if ( is_array( $val ) ) {
$val = implode( '|*|', $val );
}
} else {
$lowercaseVarName = strtolower( $input[1] );
if ( isset( $this->_cbuser->$lowercaseVarName ) ) {
$val = $this->_cbuser->get( $lowercaseVarName );
if ( is_array( $val ) ) {
$val = implode( '|*|', $val );
}
} else {
$val = array(); // avoid substitution
}
}
// Ensure user id is always an integer:
if ( in_array( $input[1], array( 'id', 'user_id' ) ) ) {
$val = ( is_object( $val ) || is_array( $val ) ? 0 : (int) $val );
}
if ( ( ! is_object( $val ) ) && ( ! is_array( $val ) ) ) {
if ( ! ( ( strtolower( $input[1] ) == 'password' ) && ( strlen( $val ) >= 32 ) ) ) {
if ( is_array( $htmlspecialchars ) ) {
$val = call_user_func_array( $htmlspecialchars, array( $val ) );
} elseif ( $htmlspecialchars ) {
$val = htmlspecialchars( $val );
}
return $val;
}
}
return '[' . $input[1] . ']';
}
$htmlspecialchars = $htmlspecialcharsParam;
return preg_replace_callback( $regex, array( $this, '_evaluateCbFields' ), $input );
}
示例3: asArray
/**
* Returns an array of all current params
*
* @return array
*/
public function asArray()
{
$params = parent::asArray();
$params['source'] = $this->source;
$params['user'] = (int) $this->user->get( 'id' );
return $params;
}
示例4: showBlog
/**
* @param OrderedTable $row
* @param UserTable $user
* @param stdClass $model
* @param PluginTable $plugin
*/
static function showBlog($row, $user, $model, $plugin)
{
global $_CB_framework;
$_CB_framework->setPageTitle($row->get('title'));
$_CB_framework->appendPathWay(htmlspecialchars(CBTxt::T('Blogs')), $_CB_framework->userProfileUrl($row->get('user', $user->get('id')), true, 'cbblogsTab'));
$_CB_framework->appendPathWay(htmlspecialchars($row->get('title')), $_CB_framework->pluginClassUrl($plugin->element, true, array('action' => 'blogs', 'func' => 'show', 'id' => (int) $row->get('id'))));
$cbUser =& CBuser::getInstance((int) $row->get('user'), false);
$return = '<div class="blowShow">' . '<div class="blogsTitle page-header"><h3>' . $row->get('title') . ' <small>' . CBTxt::T('WRITTEN_BY_BLOG_AUTHOR', 'Written by [blog_author]', array('[blog_author]' => $cbUser->getField('formatname', null, 'html', 'none', 'list', 0, true))) . '</small></h3></div>' . '<div class="blogsHeader well well-sm">' . CBTxt::T('CATEGORY_CATEGORY', 'Category: [category]', array('[category]' => $row->get('category'))) . ' / ' . CBTxt::T('CREATED_CREATED', 'Created: [created]', array('[created]' => cbFormatDate($row->get('created')))) . ($row->get('modified') && $row->get('modified') != '0000-00-00 00:00:00' ? ' / ' . CBTxt::T('MODIFIED_MODIFIED', 'Modified: [modified]', array('[modified]' => cbFormatDate($row->get('modified')))) : null) . '</div>' . '<div class="blogsText">' . $row->get('blog_intro') . $row->get('blog_full') . '</div>' . '</div>';
echo $return;
}
示例5: showconsultation
/**
* @param OrderedTable $row
* @param UserTable $user
* @param stdClass $model
* @param PluginTable $plugin
*/
static function showconsultation( $row, $user, /** @noinspection PhpUnusedParameterInspection */ $model, $plugin, $bids )
{
global $_CB_framework;
$_CB_framework->setPageTitle( $row->get( 'title' ) );
$_CB_framework->appendPathWay( htmlspecialchars( CBTxt::T( 'consultations' ) ), $_CB_framework->userProfileUrl( $row->get( 'user', $user->get( 'id' ) ), true, 'cbconsultationsTab' ) );
$_CB_framework->appendPathWay( htmlspecialchars( $row->get( 'title' ) ), $_CB_framework->pluginClassUrl( $plugin->element, true, array( 'action' => 'consultations', 'func' => 'show', 'id' => (int) $row->get( 'id' ) ) ) );
$cbUser =& CBuser::getInstance( (int) $row->get( 'user' ), false );
$return = '<div class="blowShow">'
. '<div class="consultationsTitle page-header"><h3>' . $row->get( 'title' ) . ' <small>' . CBTxt::T( 'WRITTEN_BY_consultation_AUTHOR', 'Written by [consultation_author]', array( '[consultation_author]' => $cbUser->getField( 'formatname', null, 'html', 'none', 'list', 0, true ) ) ) . '</small></h3></div>'
. '<div class="consultationsHeader well well-sm">'
. CBTxt::T( 'CATEGORY_CATEGORY', 'Category: [category]', array( '[category]' => $row->get( 'category' ) ) )
. ' / ' . CBTxt::T( 'CREATED_CREATED', 'Created: [created]', array( '[created]' => cbFormatDate( $row->get( 'created' ) ) ) )
. ( $row->get( 'modified' ) && ( $row->get( 'modified' ) != '0000-00-00 00:00:00' ) ? ' / ' . CBTxt::T( 'MODIFIED_MODIFIED', 'Modified: [modified]', array( '[modified]' => cbFormatDate( $row->get( 'modified' ) ) ) ) : null )
. '</div>'
. '<div class="consultationsText">' . $row->get( 'consultation_intro' ) . $row->get( 'consultation_full' ) . '</div>'
. '</div>';
if($bids!=null){
$return .= '<script >
window.___gcfg = {
lang: \'ru\',
parsetags: \'onload\'
};
</script>
<script src="https://apis.google.com/js/platform.js" async defer></script>
';
$return .= '<h2>Ставки</h2>';
if(empty($bids)){
$return .= "Нет ставок";
}else{
$return .= '<table cellspacing="5" class="consultationsContainer table table-hover table-responsive">';
$return .= '<tr><th>Дата</th><th>Пользователь</th><th>e-mail</th><th>Цена</th><th></th></tr>';
foreach($bids as $key=>$value){
$return .='<tr>';
$return .= '<td>'.$value->bid_date.'</td>';
$return .= '<td>'.$value->name.'</td>';
$return .= '<td>'.$value->email.'</td>';
$return .= '<td>$'.$value->bid_price.'</td>';
$return .= '<td>';
if($key==0){
//Old version was using Goolge Hangouts for communications.
//$return .= '<g:hangout render="createhangout" hangout_type="normal" topic="'.addslashes($row->get('title')).'"
// invites="[{ id : \''.$value->email.'\', invite_type : \'EMAIL\' }]">
// </g:hangout>';
//New version is using CloudInterpreter
$return .= '<a target="_blank" href="http://dev.cloudinterpreter.com:8901/'.md5($row->get('id')).'"><button class="btn btn-success">Начать консультацию</button></a>';
}
$return .= '</td>';
$return .='</tr>';
}
$return .= '</table>';
}
}
echo $return;
}
示例6: showBlogEdit
/**
* @param OrderedTable $row
* @param string[] $input
* @param UserTable $user
* @param stdClass $model
* @param PluginTable $plugin
*/
static function showBlogEdit($row, $input, $user, $model, $plugin)
{
global $_CB_framework, $_PLUGINS;
cbValidator::loadValidation();
$blogMode = $plugin->params->get('blog_mode', 1);
$pageTitle = $row->get('id') ? CBTxt::T('Edit Blog') : CBTxt::T('Create Blog');
$cbModerator = Application::User((int) $user->get('id'))->isGlobalModerator();
$_CB_framework->setPageTitle($pageTitle);
$_CB_framework->appendPathWay(htmlspecialchars(CBTxt::T('Blogs')), $_CB_framework->userProfileUrl($row->get('user', $user->get('id')), true, 'cbblogsTab'));
$_CB_framework->appendPathWay(htmlspecialchars($pageTitle), $_CB_framework->pluginClassUrl($plugin->element, true, $row->get('id') ? array('action' => 'blogs', 'func' => 'edit', 'id' => (int) $row->get('id')) : array('action' => 'blogs', 'func' => 'new')));
initToolTip();
$return = '<div class="blogEdit">' . '<form action="' . $_CB_framework->pluginClassUrl($plugin->element, true, array('action' => 'blogs', 'func' => 'save', 'id' => (int) $row->get('id'))) . '" method="post" enctype="multipart/form-data" name="blogForm" id="blogForm" class="cb_form blogForm form-auto cbValidation">' . ($pageTitle ? '<div class="blogsTitle page-header"><h3>' . $pageTitle . '</h3></div>' : null);
if ($cbModerator || !$plugin->params->get('blog_approval', 0)) {
$return .= '<div class="cbft_select cbtt_select form-group cb_form_line clearfix">' . '<label for="published" class="col-sm-3 control-label">' . CBTxt::Th('Published') . '</label>' . '<div class="cb_field col-sm-9">' . $input['published'] . getFieldIcons(1, 0, null, CBTxt::T('Select publish status of the blog. Unpublished blogs will not be visible to the public.')) . '</div>' . '</div>';
}
if ($plugin->params->get('blog_category_config', 1) || $cbModerator) {
$return .= '<div class="cbft_select cbtt_select form-group cb_form_line clearfix">' . '<label for="category" class="col-sm-3 control-label">' . CBTxt::Th('Category') . '</label>' . '<div class="cb_field col-sm-9">' . $input['category'] . getFieldIcons(1, 0, null, CBTxt::T('Select blog category. Select the category that best describes your blog.')) . '</div>' . '</div>';
}
if ($plugin->params->get('blog_access_config', 1) || $cbModerator) {
$return .= '<div class="cbft_select cbtt_select form-group cb_form_line clearfix">' . '<label for="access" class="col-sm-3 control-label">' . CBTxt::Th('Access') . '</label>' . '<div class="cb_field col-sm-9">' . $input['access'] . getFieldIcons(1, 0, null, CBTxt::T('Select access to blog; all groups above that level will also have access to the blog.')) . '</div>' . '</div>';
}
$return .= '<div class="cbft_text cbtt_input form-group cb_form_line clearfix">' . '<label for="title" class="col-sm-3 control-label">' . CBTxt::Th('Title') . '</label>' . '<div class="cb_field col-sm-9">' . $input['title'] . getFieldIcons(1, 1, null, CBTxt::T('Input blog title. This is the title that will distinguish this blog from others. Suggested to input something unique and intuitive.')) . '</div>' . '</div>';
if (in_array($blogMode, array(1, 2))) {
$return .= '<div class="cbft_textarea cbtt_textarea form-group cb_form_line clearfix">' . '<label for="blog_intro" class="col-sm-3 control-label">' . ($blogMode == 1 ? CBTxt::T('Blog Intro') : CBTxt::T('Blog')) . '</label>' . '<div class="cb_field col-sm-9">' . $input['blog_intro'] . getFieldIcons(1, 0, null, CBTxt::T('Input HTML supported blog intro contents. Suggested to use minimal but well formatting for easy readability.')) . '</div>' . '</div>';
}
if (in_array($blogMode, array(1, 3))) {
$return .= '<div class="cbft_textarea cbtt_textarea form-group cb_form_line clearfix">' . '<label for="blog_full" class="col-sm-3 control-label">' . ($blogMode == 1 ? CBTxt::T('Blog Full') : CBTxt::T('Blog')) . '</label>' . '<div class="cb_field col-sm-9">' . $input['blog_full'] . getFieldIcons(1, 0, null, CBTxt::T('Input HTML supported blog contents. Suggested to use minimal but well formatting for easy readability.')) . '</div>' . '</div>';
}
if ($cbModerator) {
$return .= '<div class="cbft_text cbtt_input form-group cb_form_line clearfix">' . '<label for="user" class="col-sm-3 control-label">' . CBTxt::T('Owner') . '</label>' . '<div class="cb_field col-sm-9">' . $input['user'] . getFieldIcons(1, 1, null, CBTxt::T('Input owner of blog as single integer user_id.')) . '</div>' . '</div>';
}
if ($plugin->params->get('blog_captcha', 0) && !$cbModerator) {
$_PLUGINS->loadPluginGroup('user');
$captcha = $_PLUGINS->trigger('onGetCaptchaHtmlElements', array(false));
if (!empty($captcha)) {
$captcha = $captcha[0];
$return .= '<div class="form-group cb_form_line clearfix">' . '<label class="col-sm-3 control-label">' . CBTxt::Th('Captcha') . '</label>' . '<div class="cb_field col-sm-9">' . (isset($captcha[0]) ? $captcha[0] : null) . '</div>' . '</div>' . '<div class="form-group cb_form_line clearfix">' . '<div class="cb_field col-sm-offset-3 col-sm-9">' . str_replace('inputbox', 'form-control', isset($captcha[1]) ? $captcha[1] : null) . getFieldIcons(1, 1, null) . '</div>' . '</div>';
}
}
$return .= '<div class="form-group cb_form_line clearfix">' . '<div class="col-sm-offset-3 col-sm-9">' . '<input type="submit" value="' . htmlspecialchars($row->get('id') ? CBTxt::T('Update Blog') : CBTxt::T('Create Blog')) . '" class="blogsButton blogsButtonSubmit btn btn-primary"' . cbValidator::getSubmitBtnHtmlAttributes() . ' /> ' . ' <input type="button" value="' . htmlspecialchars(CBTxt::T('Cancel')) . '" class="blogsButton blogsButtonCancel btn btn-default" onclick="if ( confirm( \'' . addslashes(CBTxt::T('Are you sure you want to cancel? All unsaved data will be lost!')) . '\' ) ) { location.href = \'' . $_CB_framework->userProfileUrl($row->get('user', $user->get('id')), false, 'cbblogsTab') . '\'; }" />' . '</div>' . '</div>' . cbGetSpoofInputTag('plugin') . '</form>' . '</div>';
echo $return;
}
示例7: execute
/**
* @param cbautoactionsActionTable $trigger
* @param UserTable $user
*/
public function execute( $trigger, $user )
{
if ( ! $this->installed() ) {
if ( $trigger->getParams()->get( 'debug', false, GetterInterface::BOOLEAN ) ) {
var_dump( CBTxt::T( 'AUTO_ACTION_BLOGS_NOT_INSTALLED', ':: Action [action] :: CB Blogs is not installed', array( '[action]' => (int) $trigger->get( 'id' ) ) ) );
}
return;
}
foreach ( $trigger->getParams()->subTree( 'blog' ) as $row ) {
/** @var ParamsInterface $row */
$blog = new cbblogsBlogTable();
$owner = $row->get( 'owner', null, GetterInterface::STRING );
if ( ! $owner ) {
$owner = (int) $user->get( 'id' );
} else {
$owner = (int) $trigger->getSubstituteString( $owner );
}
if ( ! $owner ) {
if ( $trigger->getParams()->get( 'debug', false, GetterInterface::BOOLEAN ) ) {
var_dump( CBTxt::T( 'AUTO_ACTION_BLOGS_NO_OWNER', ':: Action [action] :: CB Blogs skipped due to missing owner', array( '[action]' => (int) $trigger->get( 'id' ) ) ) );
}
continue;
}
$blogData = array( 'user' => $owner,
'title' => $trigger->getSubstituteString( $row->get( 'title', null, GetterInterface::STRING ) ),
'blog_intro' => $trigger->getSubstituteString( $row->get( 'intro', null, GetterInterface::RAW ), false ),
'blog_full' => $trigger->getSubstituteString( $row->get( 'full', null, GetterInterface::RAW ), false ),
'category' => $row->get( 'category', null, GetterInterface::STRING ),
'published' => (int) $row->get( 'published', 1, GetterInterface::INT ),
'access' => (int) $row->get( 'access', 1, GetterInterface::INT )
);
if ( ! $blog->bind( $blogData ) ) {
if ( $trigger->getParams()->get( 'debug', false, GetterInterface::BOOLEAN ) ) {
var_dump( CBTxt::T( 'AUTO_ACTION_BLOGS_BIND_FAILED', ':: Action [action] :: CB Blogs failed to bind. Error: [error]', array( '[action]' => (int) $trigger->get( 'id' ), '[error]' => $blog->getError() ) ) );
}
continue;
}
if ( ! $blog->store() ) {
if ( $trigger->getParams()->get( 'debug', false, GetterInterface::BOOLEAN ) ) {
var_dump( CBTxt::T( 'AUTO_ACTION_BLOGS_FAILED', ':: Action [action] :: CB Blogs failed to save. Error: [error]', array( '[action]' => (int) $trigger->get( 'id' ), '[error]' => $blog->getError() ) ) );
}
}
}
}
示例8: execute
/**
* @param cbautoactionsActionTable $trigger
* @param UserTable $user
*/
public function execute( $trigger, $user )
{
global $_CB_PMS;
foreach ( $trigger->getParams()->subTree( 'pms' ) as $row ) {
/** @var ParamsInterface $row */
$pmFrom = $row->get( 'form', null, GetterInterface::STRING );
if ( ! $pmFrom ) {
$pmFrom = (int) $user->get( 'id' );
} else {
$pmFrom = (int) $trigger->getSubstituteString( $pmFrom );
}
if ( ! $pmFrom ) {
if ( $trigger->getParams()->get( 'debug', false, GetterInterface::BOOLEAN ) ) {
var_dump( CBTxt::T( 'AUTO_ACTION_PMS_NO_FROM', ':: Action [action] :: Private Message skipped due to missing from', array( '[action]' => (int) $trigger->get( 'id' ) ) ) );
}
continue;
}
$pmTo = $trigger->getSubstituteString( $row->get( 'to', null, GetterInterface::STRING ) );
if ( ! $pmTo ) {
if ( $trigger->getParams()->get( 'debug', false, GetterInterface::BOOLEAN ) ) {
var_dump( CBTxt::T( 'AUTO_ACTION_PMS_NO_TO', ':: Action [action] :: Private Message skipped due to missing to', array( '[action]' => (int) $trigger->get( 'id' ) ) ) );
}
continue;
}
$pmMessage = $trigger->getSubstituteString( $row->get( 'message', null, GetterInterface::RAW ), false );
if ( ! $pmMessage ) {
if ( $trigger->getParams()->get( 'debug', false, GetterInterface::BOOLEAN ) ) {
var_dump( CBTxt::T( 'AUTO_ACTION_PMS_NO_MSG', ':: Action [action] :: Private Message skipped due to missing message', array( '[action]' => (int) $trigger->get( 'id' ) ) ) );
}
continue;
}
$pmSubject = $trigger->getSubstituteString( $row->get( 'subject', null, GetterInterface::STRING ) );
$_CB_PMS->sendPMSMSG( $pmTo, $pmFrom, $pmSubject, $pmMessage, true );
}
}
示例9: getArticles
/**
* Gets articles
*
* @param int[] $paging
* @param string $where
* @param UserTable $viewer
* @param UserTable $user
* @param PluginTable $plugin
* @return Table[]
*/
public static function getArticles($paging, $where, $viewer, $user, $plugin)
{
global $_CB_database;
$categories = $plugin->params->get('article_k2_category', null);
$query = 'SELECT a.*' . ', b.' . $_CB_database->NameQuote('id') . ' AS category' . ', b.' . $_CB_database->NameQuote('name') . ' AS category_title' . ', b.' . $_CB_database->NameQuote('published') . ' AS category_published' . ', b.' . $_CB_database->NameQuote('alias') . ' AS category_alias' . "\n FROM " . $_CB_database->NameQuote('#__k2_items') . " AS a" . "\n LEFT JOIN " . $_CB_database->NameQuote('#__k2_categories') . " AS b" . ' ON b.' . $_CB_database->NameQuote('id') . ' = a.' . $_CB_database->NameQuote('catid') . "\n WHERE a." . $_CB_database->NameQuote('created_by') . " = " . (int) $user->get('id') . "\n AND a." . $_CB_database->NameQuote('published') . " = 1" . "\n AND a." . $_CB_database->NameQuote('trash') . " = 0" . "\n AND a." . $_CB_database->NameQuote('access') . " IN " . $_CB_database->safeArrayOfIntegers(Application::MyUser()->getAuthorisedViewLevels()) . "\n AND b." . $_CB_database->NameQuote('published') . " = 1" . "\n AND b." . $_CB_database->NameQuote('trash') . " = 0" . "\n AND b." . $_CB_database->NameQuote('access') . " IN " . $_CB_database->safeArrayOfIntegers(Application::MyUser()->getAuthorisedViewLevels());
if ($categories) {
$categories = explode('|*|', $categories);
cbArrayToInts($categories);
$query .= "\n AND a." . $_CB_database->NameQuote('catid') . " NOT IN ( " . implode(',', $categories) . " )";
}
$query .= $where . "\n ORDER BY a." . $_CB_database->NameQuote('created') . " DESC";
if ($paging) {
$_CB_database->setQuery($query, $paging[0], $paging[1]);
} else {
$_CB_database->setQuery($query);
}
return $_CB_database->loadObjectList(null, '\\CBLib\\Database\\Table\\Table', array(null, '#__k2_items', 'id'));
}
示例10: showWhitelist
/**
* @param cbantispamWhitelistTable $row
* @param array $input
* @param string $type
* @param int|string $tab
* @param UserTable $user
* @param cbPluginHandler $plugin
*/
static public function showWhitelist( $row, $input, $type, $tab, $user, $plugin )
{
global $_CB_framework;
cbValidator::loadValidation();
$name = CBuser::getInstance( (int) $user->get( 'id' ), false )->getField( 'formatname', null, 'html', 'none', 'profile', 0, true );
$pageTitle = CBTxt::T( 'WHITELIST_NAME', 'Whitelist [name]', array( '[name]' => $name ) );
$_CB_framework->setPageTitle( $pageTitle );
$_CB_framework->appendPathWay( htmlspecialchars( CBTxt::T( 'Whitelists' ) ), $_CB_framework->userProfileUrl( (int) $user->get( 'id' ), true, $tab ) );
$_CB_framework->appendPathWay( htmlspecialchars( $pageTitle ), $_CB_framework->pluginClassUrl( $plugin->element, true, ( $row->get( 'id' ) ? array( 'action' => 'whitelist', 'func' => ( $type ? $type : 'edit' ), 'id' => (int) $row->get( 'id' ), 'usr' => (int) $user->get( 'id' ) ) : array( 'action' => 'whitelist', 'func' => ( $type ? $type : 'new' ), 'usr' => (int) $user->get( 'id' ) ) ) ) );
$return = '<div class="whitelistEdit">'
. '<form action="' . $_CB_framework->pluginClassUrl( $plugin->element, true, array( 'action' => 'whitelist', 'func' => 'save', 'id' => (int) $row->get( 'id' ), 'usr' => (int) $user->get( 'id' ) ) ) . '" method="post" enctype="multipart/form-data" name="whitelistForm" id="whitelistForm" class="cb_form whitelistForm form-auto cbValidation">'
. ( $pageTitle ? '<div class="whitelistTitle page-header"><h3>' . $pageTitle . '</h3></div>' : null )
. '<div class="cbft_select cbtt_select form-group cb_form_line clearfix">'
. '<label for="type" class="col-sm-3 control-label">' . CBTxt::T( 'Type' ) . '</label>'
. '<div class="cb_field col-sm-9">'
. $input['type']
. getFieldIcons( 1, 1, null, CBTxt::T( 'Select the whitelist type. Type determines what value should be supplied.' ) )
. '</div>'
. '</div>'
. '<div class="cbft_text cbtt_input form-group cb_form_line clearfix">'
. '<label for="value" class="col-sm-3 control-label">' . CBTxt::T( 'Value' ) . '</label>'
. '<div class="cb_field col-sm-9">'
. $input['value']
. getFieldIcons( 1, 1, null, CBTxt::T( 'Input whitelist value in relation to the type. User type use the users user_id (e.g. 42). IP Address type use a full valid IP Address (e.g. 192.168.0.1). Email type use a fill valid email address (e.g. invalid@cb.invalid). Email Domain type use a full email address domain after @ (e.g. example.com).' ) )
. '</div>'
. '</div>'
. '<div class="cbft_textarea cbtt_textarea form-group cb_form_line clearfix">'
. '<label for="reason" class="col-sm-3 control-label">' . CBTxt::T( 'Reason' ) . '</label>'
. '<div class="cb_field col-sm-9">'
. $input['reason']
. getFieldIcons( 1, 0, null, CBTxt::T( 'Optionally input whitelist reason. Note this is for administrative purposes only.' ) )
. '</div>'
. '</div>'
. '<div class="form-group cb_form_line clearfix">'
. '<div class="col-sm-offset-3 col-sm-9">'
. '<input type="submit" value="' . htmlspecialchars( ( $row->get( 'id' ) ? CBTxt::T( 'Update Whitelist' ) : CBTxt::T( 'Create Whitelist' ) ) ) . '" class="whitelistButton whitelistButtonSubmit btn btn-primary"' . cbValidator::getSubmitBtnHtmlAttributes() . ' /> '
. ' <input type="button" value="' . htmlspecialchars( CBTxt::T( 'Cancel' ) ) . '" class="whitelistButton whitelistButtonCancel btn btn-default" onclick="if ( confirm( \'' . addslashes( CBTxt::T( 'Are you sure you want to cancel? All unsaved data will be lost!' ) ) . '\' ) ) { location.href = \'' . $_CB_framework->userProfileUrl( (int) $user->get( 'id' ), false, $tab ) . '\'; }" />'
. '</div>'
. '</div>'
. cbGetSpoofInputTag( 'plugin' )
. '</form>'
. '</div>';
echo $return;
}
示例11: showDisable
/**
* @param int $userId
* @param UserTable $user
* @param cbPluginHandler $plugin
*/
static public function showDisable( $userId, $user, $plugin )
{
global $_CB_framework;
cbValidator::loadValidation();
$profileUrl = $_CB_framework->userProfileUrl( $user->get( 'id' ) );
$pageTitle = CBTxt::T( 'Disable My Account' );
$_CB_framework->setPageTitle( $pageTitle );
$_CB_framework->appendPathWay( htmlspecialchars( $pageTitle ), $profileUrl );
initToolTip();
$tooltip = cbTooltip( null, CBTxt::T( 'Optionally input a reason for disabling your account.' ), null, null, null, null, null, 'data-hascbtooltip="true"' );
$return = '<div class="privacyDisableAccount">'
. '<form action="' . $_CB_framework->pluginClassUrl( $plugin->element, true, array( 'action' => 'privacy', 'func' => 'disableuser', 'id' => (int) $userId ) ) . '" method="post" enctype="multipart/form-data" name="privacyForm" id="privacyForm" class="cb_form privacyForm form-auto cbValidation">'
. ( $pageTitle ? '<div class="privacyTitle page-header"><h3>' . $pageTitle . '</h3></div>' : null )
. '<div class="cbft_textarea cbtt_textarea form-group cb_form_line clearfix">'
. '<label for="reason" class="col-sm-3 control-label">' . CBTxt::T( 'Reason' ) . '</label>'
. '<div class="cb_field col-sm-9">'
. '<textarea id="reason" name="reason" class="form-control" cols="40" rows="5"' . ( $tooltip ? ' ' . $tooltip : null ) . '></textarea>'
. getFieldIcons( 1, 0, null, CBTxt::T( 'Optionally input a reason for disabling your account.' ) )
. '</div>'
. '</div>'
. '<div class="form-group cb_form_line clearfix">'
. '<div class="col-sm-offset-3 col-sm-9">'
. '<input type="submit" value="' . htmlspecialchars( CBTxt::T( 'Disable Account' ) ) . '" class="privacyButton privacyButtonSubmit btn btn-primary"' . cbValidator::getSubmitBtnHtmlAttributes() . ' /> '
. ' <input type="button" value="' . htmlspecialchars( CBTxt::T( 'Cancel' ) ) . '" class="privacyButton privacyButtonCancel btn btn-default" onclick="location.href = \'' . $profileUrl . '\';" />'
. '</div>'
. '</div>'
. cbGetSpoofInputTag( 'plugin' )
. '</form>'
. '</div>';
echo $return;
}
示例12: showPreparatyTab
/**
* Renders the Articles tab
*
* @param Table[] $rows Articles to render
* @param cbPageNav $pageNav Pagination
* @param boolean $searching Currently searching
* @param string[] $input HTML of input elements
* @param UserTable $viewer Viewing user
* @param UserTable $user Viewed user
* @param stdClass $model The model reference
* @param TabTable $tab Current Tab
* @param PluginTable $plugin Current Plugin
* @return string HTML
*/
static public function showPreparatyTab( $rows, $pageNav, $searching, $input, $viewer, $user, /** @noinspection PhpUnusedParameterInspection */ $model, $tab, /** @noinspection PhpUnusedParameterInspection */ $plugin )
{
global $_CB_framework, $_LANG;
$app =& JFactory::getApplication();
$menu = $app->getMenu();
$active = $menu->getActive();
$Itemid = $active->id;
$tabPaging = $tab->params->get( 'tab_paging', 1 );
$canSearch = ( $tab->params->get( 'tab_search', 1 ) && ( $searching || $pageNav->total ) );
$canCreate = false;
$profileOwner = ( $viewer->get( 'id' ) == $user->get( 'id' ) );
$cbModerator = Application::User( (int) $viewer->get( 'id' ) )->isGlobalModerator();
//$canPublish = ( $cbModerator || ( $profileOwner && ( ! $plugin->params->get( 'hangout_approval', 0 ) ) ) );
if ( $profileOwner ) {
if ( $cbModerator ) {
$canCreate = true;
} elseif ( $user->get( 'id' ) && Application::User( (int) $viewer->get( 'id' ) )->canViewAccessLevel( (int) $plugin->params->get( 'hangout_create_access', 2 ) ) ) {
if ( ( ! $blogLimit ) || ( $blogLimit && ( $pageNav->total < $blogLimit ) ) ) {
$canCreate = true;
}
}
}
$return = '<div class="articlesTab">'
. '<form action="' . $_CB_framework->userProfileUrl( $user->id, true, $tab->tabid ) . '" method="post" name="articleForm" id="articleForm" class="articleForm">';
if ( $canCreate ) {
$return .= '<div class="' . ( ! $canSearch ? 'col-sm-12' : 'col-sm-8' ) . ' text-left">'
. '<button type="button" onclick="location.href=\'' . ($_CB_framework->getCfg( 'live_site' ).'/index.php?option=com_flexicontent&view=item&typeid=2&task=add&Itemid='.$Itemid) . '\';" class="blogsButton blogsButtonNew btn btn-success"><span class="fa fa-plus-circle"></span> ' . $_LANG['New Preparat'] . '</button>'
. '</div>';
}
if ( $canSearch ) {
$return .= '<div class="articlesHeader row" style="margin-bottom: 10px;">'
. '<div class="col-sm-offset-8 col-sm-4 text-right">'
. '<div class="input-group">'
. '<span class="input-group-addon"><span class="fa fa-search"></span></span>'
. $input['search']
. '</div>'
. '</div>'
. '</div>';
}
$return .= '<table class="articlesContainer table table-hover table-responsive">'
. '<thead>'
. '<tr>'
. '<th style="width: 50%;" class="text-left">' . $_LANG['Preparat'] . '</th>'
. '<th style="width: 25%;" class="text-left hidden-xs">' . CBTxt::T( 'Category' ) . '</th>'
. '<th style="width: 25%;" class="text-left hidden-xs">' . CBTxt::T( 'Created' ) . '</th>'
. '<th style="width: 1%;" class="text-left hidden-xs"></th>'
. '</tr>'
. '</thead>'
. '<tbody>';
$attribs = '';
$image = FLEXI_J16GE ?
JHTML::image(FLEXI_ICONPATH.'edit.png', JText::_( 'FLEXI_EDIT' ), $attribs) :
JHTML::_('image.site', 'edit.png', FLEXI_ICONPATH, NULL, NULL, JText::_( 'FLEXI_EDIT' ), $attribs) ;
if ( $rows ) foreach ( $rows as $row ) {
$item_url = cbpreparatyModel::getUrl( $row, true, 'article' , $Itemid);
//$item_url_edit = cbpreparatyModel::getUrl( $row, true, 'article' , 445);
$link = $_CB_framework->getCfg( 'live_site' ). '/' .$item_url .(strstr($item_url, '?') ? '&' : '?'). 'task=edit';
$edit_row = $profileOwner ? '<a href="'.$link.'">'.$image.'</a> ' : '';
$return .= '<tr>'
. '<td style="width: 50%;" class="text-left">'.$edit_row.'<a href="' . cbpreparatyModel::getUrl( $row, true, 'article' ) . '">' . $row->get( 'title' ) . '</a></td>'
. '<td style="width: 25%;" class="text-left hidden-xs">' . ( $row->get( 'category' ) ? $row->get( 'category_title' ) : CBTxt::T( 'None' ) ) . '</td>'
. '<td style="width: 25%;" class="text-left hidden-xs">' . cbFormatDate( $row->get( 'created' ) ) . '</td>';
if ( ( $cbModerator || $profileOwner ) ) {
$menuItems = '<ul class="invitesMenuItems dropdown-menu" style="display: block; position: relative; margin: 0;">';
$menuItems .= '<li class="invitesMenuItem"><a href="' . $link . '"><span class="fa fa-edit"></span> ' . CBTxt::T( 'Edit' ) . '</a></li>'
. '<li class="invitesMenuItem"><a href="javascript: void(0);" onclick="if ( confirm( \'' . addslashes( CBTxt::T( 'Are you sure you want to delete this Drug?' ) ) . '\' ) ) { location.href = \'' . $_CB_framework->pluginClassUrl( $plugin->element, false, array( 'action' => 'preparaty', 'func' => 'delete', 'id' => (int) $row->get( 'id' ) ) ) . '\'; }"><span class="fa fa-trash-o"></span> ' . CBTxt::T( 'Delete' ) . '</a></li>';
$menuItems .= '</ul>';
$menuAttr = cbTooltip( 1, $menuItems, null, 'auto', null, null, null, 'class="btn btn-default btn-xs" data-cbtooltip-menu="true" data-cbtooltip-classes="qtip-nostyle"' );
//.........这里部分代码省略.........
示例13: getItems
/**
* @param string $type
* @param TabTable $tab
* @param UserTable $user
* @param UserTable $viewer
* @param bool|int $start
* @return null|string
*/
private function getItems( $type, $tab, $user, $viewer, $start = false )
{
global $_CB_framework, $_CB_database, $_PLUGINS;
/** @var Registry $params */
$params = $tab->params;
$tabPrefix = 'tab_' . (int) $tab->get( 'tabid' ) . '_';
$publishedOnly = ( ( $viewer->get( 'id' ) != $user->get( 'id' ) ) && ( ! Application::User( (int) $viewer->get( 'id' ) )->isGlobalModerator() ) );
$input = array();
// Items:
$typePrefix = $tabPrefix . $type . '_items_';
$limit = (int) $params->get( 'tab_' . $type . '_items_limit', 15 );
$limitstart = ( $start !== false ? (int) $start : $_CB_framework->getUserStateFromRequest( $typePrefix . 'limitstart{com_comprofiler}', $typePrefix . 'limitstart' ) );
$search = $_CB_framework->getUserStateFromRequest( $typePrefix . 'search{com_comprofiler}', $typePrefix . 'search' );
$where = null;
if ( $search && $params->get( 'tab_' . $type . '_items_search', 1 ) ) {
$where .= "\n AND ( " . $_CB_database->NameQuote( 'value' ) . " LIKE " . $_CB_database->Quote( '%' . $_CB_database->getEscaped( $search, true ) . '%', false )
. " OR " . $_CB_database->NameQuote( 'title' ) . " LIKE " . $_CB_database->Quote( '%' . $_CB_database->getEscaped( $search, true ) . '%', false )
. " OR " . $_CB_database->NameQuote( 'description' ) . " LIKE " . $_CB_database->Quote( '%' . $_CB_database->getEscaped( $search, true ) . '%', false ) . " )";
}
$itemsSearching = ( $where ? true : false );
$query = 'SELECT COUNT(*)'
. "\n FROM " . $_CB_database->NameQuote( '#__comprofiler_plugin_gallery_items' )
. "\n WHERE " . $_CB_database->NameQuote( 'type' ) . " = " . $_CB_database->Quote( $type )
. "\n AND " . $_CB_database->NameQuote( 'user_id' ) . " = " . (int) $user->get( 'id' )
. "\n AND " . $_CB_database->NameQuote( 'folder' ) . " = 0"
. ( $publishedOnly ? "\n AND " . $_CB_database->NameQuote( 'published' ) . " = 1" : null )
. $where;
$_CB_database->setQuery( $query );
$total = (int) $_CB_database->loadResult();
if ( $total <= $limitstart ) {
$limitstart = 0;
}
$itemsPageNav = new cbPageNav( $total, $limitstart, $limit );
$itemsPageNav->setInputNamePrefix( $typePrefix );
$orderBy = $params->get( 'tab_' . $type . '_items_orderby', 'date_desc' );
if ( ! $orderBy ) {
$orderBy = 'date_desc';
}
$orderBy = explode( '_', $orderBy );
$query = 'SELECT *'
. "\n FROM " . $_CB_database->NameQuote( '#__comprofiler_plugin_gallery_items' )
. "\n WHERE " . $_CB_database->NameQuote( 'type' ) . " = " . $_CB_database->Quote( $type )
. "\n AND " . $_CB_database->NameQuote( 'user_id' ) . " = " . (int) $user->get( 'id' )
. "\n AND " . $_CB_database->NameQuote( 'folder' ) . " = 0"
. ( $publishedOnly ? "\n AND " . $_CB_database->NameQuote( 'published' ) . " = 1" : null )
. $where
. "\n ORDER BY " . $_CB_database->NameQuote( $orderBy[0] ) . " " . strtoupper( $orderBy[1] );
if ( $params->get( 'tab_' . $type . '_items_paging', 1 ) ) {
$_CB_database->setQuery( $query, $itemsPageNav->limitstart, $itemsPageNav->limit );
} else {
$_CB_database->setQuery( $query );
}
$items = $_CB_database->loadObjectList( null, 'cbgalleryItemTable', array( $_CB_database ) );
$itemsCount = count( $items );
$_PLUGINS->trigger( 'gallery_onLoadItems', array( &$items, $user ) );
if ( $itemsCount && ( ! count( $items ) ) ) {
return $this->getItems( $type, $tab, $user, $viewer, ( $limitstart + $limit ) );
}
switch( $type ) {
case 'photos':
$placeholder = CBTxt::T( 'Search Photos...' );
break;
case 'files':
$placeholder = CBTxt::T( 'Search Files...' );
break;
case 'videos':
$placeholder = CBTxt::T( 'Search Videos...' );
break;
case 'music':
$placeholder = CBTxt::T( 'Search Music...' );
break;
default:
$placeholder = CBTxt::T( 'Search...' );
break;
}
$input['search_items'] = '<input type="text" name="' . htmlspecialchars( $typePrefix . 'search' ) . '" value="' . htmlspecialchars( $search ) . '" onchange="document.' . htmlspecialchars( $type ) . 'ItemsForm.submit();" placeholder="' . htmlspecialchars( $placeholder ) . '" class="form-control" />';
//.........这里部分代码省略.........
示例14: getBlogs
/**
* @param int[] $paging
* @param string $where
* @param UserTable $viewer
* @param UserTable $user
* @param PluginTable $plugin
* @return cbblogsBlogTable[]
*/
static public function getBlogs( $paging, $where, $viewer, $user, $plugin )
{
global $_CB_database;
$section = $plugin->params->get( 'blog_j_section', null );
$query = 'SELECT a.*'
. ', a.' . $_CB_database->NameQuote( 'created_by' ) . ' AS user'
. ', a.' . $_CB_database->NameQuote( 'introtext' ) . ' AS blog_intro'
. ', a.' . $_CB_database->NameQuote( 'fulltext' ) . ' AS blog_full'
. ', a.' . $_CB_database->NameQuote( 'state' ) . ' AS published'
. ', b.' . $_CB_database->NameQuote( 'title' ) . ' AS category'
. ', b.' . $_CB_database->NameQuote( 'published' ) . ' AS category_published'
. ', b.' . $_CB_database->NameQuote( 'alias' ) . ' AS category_alias'
. "\n FROM " . $_CB_database->NameQuote( '#__content' ) . " AS a"
. "\n LEFT JOIN " . $_CB_database->NameQuote( '#__categories' ) . " AS b"
. ' ON b.' . $_CB_database->NameQuote( 'id' ) . ' = a.' . $_CB_database->NameQuote( 'catid' )
. "\n LEFT JOIN " . $_CB_database->NameQuote( '#__users' ) . " AS c"
. ' ON c.' . $_CB_database->NameQuote( 'id' ) . ' = a.' . $_CB_database->NameQuote( 'created_by' );
if ( $section ) {
$query .= "\n LEFT JOIN " . $_CB_database->NameQuote( '#__categories' ) . " AS d"
. ' ON d.' . $_CB_database->NameQuote( 'id' ) . ' = ' . (int) $section;
}
$query .= "\n WHERE b." . $_CB_database->NameQuote( 'extension' ) . " = " . $_CB_database->Quote( 'com_content' );
if ( $section ) {
$query .= "\n AND b." . $_CB_database->NameQuote( 'lft' ) . " BETWEEN ( d." . $_CB_database->NameQuote( 'lft' ) . " + 1 ) AND ( d." . $_CB_database->NameQuote( 'rgt' ) . " - 1 )"
. "\n AND d." . $_CB_database->NameQuote( 'extension' ) . " = " . $_CB_database->Quote( 'com_content' );
}
$query .= "\n AND a." . $_CB_database->NameQuote( 'created_by' ) . " = " . (int) $user->get( 'id' )
. ( ( $viewer->get( 'id' ) != $user->get( 'id' ) ) && ( ! Application::User( (int) $viewer->get( 'id' ) )->isGlobalModerator() ) ? "\n AND a." . $_CB_database->NameQuote( 'state' ) . " = 1" : null )
. "\n AND a." . $_CB_database->NameQuote( 'access' ) . " IN " . $_CB_database->safeArrayOfIntegers( Application::MyUser()->getAuthorisedViewLevels() )
. "\n AND b." . $_CB_database->NameQuote( 'published' ) . " = 1"
. "\n AND b." . $_CB_database->NameQuote( 'access' ) . " IN " . $_CB_database->safeArrayOfIntegers( Application::MyUser()->getAuthorisedViewLevels() )
. $where
. "\n ORDER BY a." . $_CB_database->NameQuote( 'created' ) . " DESC";
if ( $paging ) {
$_CB_database->setQuery( $query, $paging[0], $paging[1] );
} else {
$_CB_database->setQuery( $query );
}
return $_CB_database->loadObjectList( null, 'cbblogsBlogTable', array( $_CB_database ) );
}
示例15: showFiles
/**
* @param cbgalleryItemTable[] $rows
* @param cbPageNav $pageNav
* @param cbgalleryFolderTable|null $folder
* @param bool $searching
* @param UserTable $viewer
* @param UserTable $user
* @param TabTable $tab
* @param cbTabHandler $plugin
* @return string
*/
static public function showFiles( $rows, $pageNav, $folder, $searching, $viewer, $user, $tab, $plugin )
{
global $_CB_framework, $_PLUGINS;
$_PLUGINS->trigger( 'gallery_onBeforeDisplayFiles', array( &$rows, $pageNav, $folder, $searching, $viewer, $user, $tab, $plugin ) );
/** @var Registry $params */
$params = $tab->params;
$profileOwner = ( $viewer->get( 'id' ) == $user->get( 'id' ) );
$cbModerator = Application::User( (int) $viewer->get( 'id' ) )->isGlobalModerator();
$return = '<table class="filesItemsContainer table table-hover table-responsive">'
. '<thead>'
. '<tr>'
. '<th colspan="2"> </th>'
. '<th style="width: 15%;" class="text-center">' . CBTxt::T( 'Type' ) . '</th>'
. '<th style="width: 15%;" class="text-left">' . CBTxt::T( 'Size' ) . '</th>'
. '<th style="width: 20%;" class="text-left hidden-xs">' . CBTxt::T( 'Date' ) . '</th>'
. '<th style="width: 1%;" class="text-right"> </th>'
. '</tr>'
. '</thead>'
. '<tbody>';
if ( $rows ) foreach ( $rows as $row ) {
$extension = null;
$size = 0;
$title = ( $row->get( 'title' ) ? htmlspecialchars( $row->get( 'title' ) ) : $row->getFileName() );
$item = $title;
if ( $row->checkExists() ) {
if ( $row->getLinkDomain() ) {
$showPath = htmlspecialchars( $row->getFilePath() );
$downloadPath = $showPath;
} else {
$showPath = $_CB_framework->pluginClassUrl( $plugin->element, true, array( 'action' => 'items', 'func' => 'show', 'type' => 'files', 'id' => (int) $row->get( 'id' ), 'user' => (int) $user->get( 'id' ), 'tab' => (int) $tab->get( 'tabid' ), 'v' => uniqid() ), 'raw', 0, true );
$downloadPath = $_CB_framework->pluginClassUrl( $plugin->element, true, array( 'action' => 'items', 'func' => 'download', 'type' => 'files', 'id' => (int) $row->get( 'id' ), 'user' => (int) $user->get( 'id' ), 'tab' => (int) $tab->get( 'tabid' ), 'v' => uniqid() ), 'raw', 0, true );
}
$extension = $row->getExtension();
$size = $row->getFileSize();
switch ( $extension ) {
case 'txt':
case 'pdf':
case 'jpg':
case 'jpeg':
case 'png':
case 'gif':
case 'js':
case 'css':
case 'mp4':
case 'mp3':
case 'wav':
$item = '<a href="' . $showPath . '" target="_blank">'
. $item
. '</a>';
break;
default:
$item = '<a href="' . $downloadPath . '" target="_blank">'
. $item
. '</a>';
break;
}
$download = '<a href="' . $downloadPath . '" target="_blank" title="' . htmlspecialchars( CBTxt::T( 'Click to Download' ) ) . '" class="filesItemsDownload btn btn-xs btn-default">'
. '<span class="fa fa-download"></span>'
. '</a>';
} else {
$download = '<button type="button" class="filesItemsDownload btn btn-xs btn-default disabled">'
. '<span class="fa fa-download"></span>'
. '</button>';
}
if ( $row->get( 'description' ) ) {
$item .= ' ' . cbTooltip( 1, $row->get( 'description' ), $title, 400, null, '<span class="fa fa-info-circle text-muted"></span>' );
}
$return .= '<tr>'
. '<td style="width: 1%;" class="text-center">' . $download . '</td>'
. '<td class="text-left">' . $item . '</td>'
. '<td style="width: 15%;" class="text-center"><span class="filesItemsType fa fa-' . htmlspecialchars( self::getFileIcon( $extension ) ) . '" title="' . htmlspecialchars( ( $extension ? strtoupper( $extension ) : CBTxt::T( 'Unknown' ) ) ) . '"></span></td>'
. '<td style="width: 15%;" class="text-left">' . $size . '</td>'
. '<td style="width: 20%;" class="text-left hidden-xs">'
. '<span title="' . htmlspecialchars( $row->get( 'date' ) ) . '">'
. cbFormatDate( $row->get( 'date' ), true, (int) $params->get( 'tab_files_items_time_display', 0 ), $params->get( 'tab_files_items_date_format', 'M j, Y' ), $params->get( 'tab_files_items_time_format', ' g:h A' ) )
. '</span>'
. '</td>';
if ( $cbModerator || $profileOwner ) {
//.........这里部分代码省略.........