コード例 #1
0
ファイル: overview.php プロジェクト: kosmosby/medicine-prof
	/**
	 * render frontend overview
	 *
	 * @param object $rows
	 * @param object $pageNav
	 * @param moscomprofilerUser $user
	 * @param object $plugin
	 */
	static function showOverview( $rows, $pageNav, $user, $plugin ) {
		global $_CB_framework;

		$generalTitle	=	$plugin->params->get( 'general_title', $plugin->name );

		$_CB_framework->setPageTitle( cbgjClass::getOverride( 'category', true ) . ' ' . cbgjClass::getOverride( 'overview' ) );

		if ( $generalTitle != '' ) {
			$_CB_framework->appendPathWay( htmlspecialchars( CBTxt::T( $generalTitle ) ), cbgjClass::getPluginURL() );
		}

		$_CB_framework->appendPathWay( cbgjClass::getOverride( 'category', true ) . ' ' . cbgjClass::getOverride( 'overview' ), cbgjClass::getPluginURL( array( 'overview' ) ) );

		$main			=	HTML_groupjiveOverviewMain::showOverviewMain( $rows, $pageNav, $user, $plugin );

		$return			=	'<div class="gjOverview">';

		if ( $plugin->params->get( 'general_panes', 1 ) ) {
			$return		.=		'<div class="gjHeader">'
						.			HTML_groupjiveOverviewPanes::showOverviewPanes( $user, $plugin )
						.		'</div>'
						.		'<div class="gjBody">'
						.			$main
						.		'</div>';
		} else {
			$return		.=		$main;
		}

		$return			.=	'</div>';

		echo $return;
	}
コード例 #2
0
	/**
	 * render frontend group panes
	 *
	 * @param cbgjGroup $row
	 * @param cbgjCategory $category
	 * @param moscomprofilerUser $user
	 * @param object $plugin
	 * @return string
	 */
	static function showGroupPanes( $row, $category, $user, $plugin ) {
		$authorized		=	cbgjClass::getAuthorization( $category, $row, $user );

		if ( $row->get( 'published' ) == 1 ) {
			$state		=	'<div><i class="icon-ban-circle"></i> <a href="javascript: void(0);" onclick="' . cbgjClass::getPluginURL( array( 'groups', 'unpublish', (int) $category->get( 'id' ), (int) $row->get( 'id' ) ), CBTxt::P( 'Are you sure you want to unpublish this [group]?', array( '[group]' => cbgjClass::getOverride( 'group' ) ) ) ) . '">' . CBTxt::Ph( 'Unpublish [group]', array( '[group]' => cbgjClass::getOverride( 'group' ) ) ) . '</a></div>';
		} else {
			$state		=	'<div><i class="icon-ok"></i> <a href="' . cbgjClass::getPluginURL( array( 'groups', 'publish', (int) $category->get( 'id' ), (int) $row->get( 'id' ) ) ) . '">' . CBTxt::Ph( 'Publish [group]', array( '[group]' => cbgjClass::getOverride( 'group' ) ) ) . '</a></div>';
		}

		$groupAdmins	=	$row->getAdmins();
		$groupMods		=	$row->getModerators();

		$return			=	'<legend class="gjHeaderTitle">' . $row->getName() . '</legend>'
						.	'<div class="gjGrid row-fluid">'
						.		'<div class="gjGridLeft span9">'
						.			'<div class="gjGridLeftLogo span4">'
						.				$row->getLogo( true )
						.			'</div>'
						.			'<div class="gjGridLeftInfo span8">'
						.				cbgjClass::getIntegrations( 'gj_onBeforeGroupInfo', array( $row, $category, $user, $plugin ) )
						.				( ( ( ( ! $row->get( 'nested' ) ) && cbgjClass::hasAccess( 'mod_lvl2', $authorized ) ) || $row->get( 'nested' ) ) && $row->nestedCount() ? '<div>' . cbgjClass::getOverride( 'group', true ) . ': ' . $row->nestedCount() . '</div>' : null )
						.				( $row->userCount() ? '<div>' . cbgjClass::getOverride( 'user', true ) . ': ' . $row->userCount() . '</div>' : null )
						.				( $row->get( 'user_id' ) ? '<div>' . cbgjClass::getOverride( 'owner' ) . ': ' . $row->getOwnerName( true ) . '</div>' : null )
						.				( ! empty( $groupMods ) ? '<div>' . cbgjClass::getOverride( 'moderator', true ) . ': ' . implode( ', ', $groupMods ) . '</div>' : null )
						.				( ! empty( $groupAdmins ) ? '<div>' . cbgjClass::getOverride( 'admin', true ) . ': ' . implode( ', ', $groupAdmins ) . '</div>' : null )
						.				'<div>' . CBTxt::Ph( 'Type: [grp_type]', array( '[grp_type]' => $row->getType() ) ) . '</div>'
						.				'<div>' . CBTxt::Ph( 'Access: [grp_access]', array( '[grp_access]' => $row->getAccess() ) ) . '</div>'
						.				'<div>' . cbgjClass::getOverride( 'category' ) . ': ' . $category->getName( 0, true ) . '</div>'
						.				( $row->get( 'parent' ) ? '<div>' . cbgjClass::getOverride( 'group' ) . ': ' . $row->getParent()->getName( 0, true ) . '</div>' : null )
						.				'<div>' . CBTxt::Ph( 'Created: [grp_date]', array( '[grp_date]' => cbFormatDate( $row->get( 'date' ), 1, false ) ) ) . '</div>'
						.				cbgjClass::getIntegrations( 'gj_onAfterGroupInfo', array( $row, $category, $user, $plugin ) )
						.			'</div>';

		if ( $row->get( 'description' ) ) {
			$return		.=			'<div class="gjGridLeftDesc span12 well well-small">'
						.				$row->getDescription()
						.			'</div>';
		}

		$return			.=		'</div>'
						.		'<div class="gjGridRight span3">'
						.			cbgjClass::getIntegrations( 'gj_onBeforeGroupMenu', array( $row, $category, $user, $plugin ), null, null )
						.			( cbgjClass::hasAccess( array( 'grp_join', 'grp_approved' ), $authorized, true ) ? '<div><i class="icon-plus"></i> <a href="' . cbgjClass::getPluginURL( array( 'groups', 'join', (int) $category->get( 'id' ), (int) $row->get( 'id' ) ) ) . '">' . ( cbgjClass::hasAccess( 'grp_invited', $authorized ) ? CBTxt::Th( 'Accept Invite' ) : CBTxt::Ph( 'Join [group]', array( '[group]' => cbgjClass::getOverride( 'group' ) ) ) ) . '</a></div>' : null )
						.			( cbgjClass::hasAccess( array( 'grp_nested_create', 'grp_approved' ), $authorized, true ) ? '<div><i class="icon-plus"></i> <a href="' . cbgjClass::getPluginURL( array( 'groups', 'new', (int) $category->get( 'id' ), (int) $row->get( 'id' ) ) ) . '">' . CBTxt::Ph( 'New [group]', array( '[group]' => cbgjClass::getOverride( 'group' ) ) ) . '</a></div>' : null )
						.			( cbgjClass::hasAccess( array( 'grp_leave', 'grp_approved' ), $authorized, true ) ? '<div><i class="icon-minus"></i> <a href="javascript: void(0);" onclick="' . cbgjClass::getPluginURL( array( 'groups', 'leave', (int) $category->get( 'id' ), (int) $row->get( 'id' ) ), CBTxt::P( 'Are you sure you want to leave this [group]?', array( '[group]' => cbgjClass::getOverride( 'group' ) ) ) ) . '">' . CBTxt::Ph( 'Leave [group]', array( '[group]' => cbgjClass::getOverride( 'group' ) ) ) . '</a></div>' : null )
						.			( cbgjClass::hasAccess( 'mod_lvl3', $authorized ) ? '<div><i class="icon-pencil"></i> <a href="' . cbgjClass::getPluginURL( array( 'groups', 'edit', (int) $category->get( 'id' ), (int) $row->get( 'id' ) ) ) . '">' . CBTxt::Ph( 'Edit [group]', array( '[group]' => cbgjClass::getOverride( 'group' ) ) ) . '</a></div>' : null )
						.			( cbgjClass::hasAccess( 'grp_message', $authorized ) && $row->userCount() ? '<div><i class="icon-envelope"></i> <a href="' . cbgjClass::getPluginURL( array( 'groups', 'message', (int) $category->get( 'id' ), (int) $row->get( 'id' ) ) ) . '">' . CBTxt::Ph( 'Message [users]', array( '[users]' => cbgjClass::getOverride( 'user', true ) ) ) . '</a></div>' : null )
						.			( cbgjClass::hasAccess( 'grp_can_publish', $authorized ) ? $state : null )
						.			( cbgjClass::hasAccess( 'mod_lvl2', $authorized ) ? '<div><i class="icon-remove"></i> <a href="javascript: void(0);" onclick="' . cbgjClass::getPluginURL( array( 'groups', 'delete', (int) $category->get( 'id' ), (int) $row->get( 'id' ) ), CBTxt::P( 'Are you sure you want to delete this [group] and all its associated [users]?', array( '[group]' => cbgjClass::getOverride( 'group' ), '[users]' => cbgjClass::getOverride( 'user', true ) ) ) ) . '">' . CBTxt::Ph( 'Delete [group]', array( '[group]' => cbgjClass::getOverride( 'group' ) ) ) . '</a></div>' : null )
						.			cbgjClass::getIntegrations( 'gj_onAfterGroupMenu', array( $row, $category, $user, $plugin ), null, null )
						.			( cbgjClass::hasAccess( 'grp_usr_notifications', $authorized ) ? '<div><i class="icon-info-sign"></i> <a href="' . cbgjClass::getPluginURL( array( 'notifications', 'show', (int) $category->get( 'id' ), (int) $row->get( 'id' ) ) ) . '">' . CBTxt::Th( 'Notifications' ) . '</a></div>' : null )
						.			( $row->get( 'parent' ) ? '<div><i class="icon-share-alt"></i> <a href="' . $row->getParent()->getUrl() . '">' . CBTxt::Ph( 'Back to [group]', array( '[group]' => cbgjClass::getOverride( 'group' ) ) ) . '</a></div>' : null )
						.			( ! $row->get( 'parent' ) ? '<div><i class="icon-share-alt"></i> <a href="' . $category->getUrl() . '">' . CBTxt::Ph( 'Back to [category]', array( '[category]' => cbgjClass::getOverride( 'category' ) ) ) . '</a></div>' : null )
						.		'</div>'
						.	'</div>';

		return $return;
	}
コード例 #3
0
	/**
	 * output form validation jquery
	 *
	 * @param string $selector
	 * @param string $params
	 */
	static function loadJquery( $selector, $params ) {
		global $_CB_framework;

		if ( ! $selector ) {
			$selector	=	'#gjForm';
		}

		$js				=	"$( '" . addslashes( $selector ) . "' ).validate( {"
						.		"submitHandler: function( form ) {"
						.			"$( form ).find( 'input[type=\"submit\"]' ).attr( 'disabled', 'disabled' ).addClass( 'disabled' ).val( '" . addslashes( CBTxt::T( 'Loading...' ) ) . "' );"
						.			"form.submit();"
						.		"},";

		if ( $params ) {
			$js			.=		$params . ( ( cbIsoUtf_substr( trim( $params ), -1 ) != ',' ) ? ',' : null );
		}

		$js				.=		"ignoreTitle: true,"
						.		"errorClass: 'gjValidationError',"
						.		"highlight: function( element, errorClass ) {"
						.			"$( element ).parent().parent().addClass( 'error');"
						.		"},"
						.		"unhighlight: function( element, errorClass ) {"
						.			"$( element ).parent().parent().removeClass( 'error' );"
						.		"},"
						.		"errorElement: 'div',"
						.		"errorPlacement: function( error, element ) {"
						.			"$( element ).parent().children().last().after( error );"
						.		"}"
						.	"});"
						.	"$.extend( jQuery.validator.messages, {"
						.		"required: '" . addslashes( CBTxt::T( 'This input is required.' ) ) . "',"
						.		"remote: '" . addslashes( CBTxt::T( 'Please fix this input.' ) ) . "',"
						.		"email: '" . addslashes( CBTxt::T( 'Please input a valid email address.' ) ) . "',"
						.		"url: '" . addslashes( CBTxt::T( 'Please input a valid URL.' ) ) . "',"
						.		"date: '" . addslashes( CBTxt::T( 'Please input a valid date.' ) ) . "',"
						.		"dateISO: '" . addslashes( CBTxt::T( 'Please input a valid date (ISO).' ) ) . "',"
						.		"number: '" . addslashes( CBTxt::T( 'Please input a valid number.' ) ) . "',"
						.		"digits: '" . addslashes( CBTxt::T( 'Please input only digits.' ) ) . "',"
						.		"creditcard: '" . addslashes( CBTxt::T( 'Please input a valid credit card number.' ) ) . "',"
						.		"equalTo: '" . addslashes( CBTxt::T( 'Please input the same value again.' ) ) . "',"
						.		"accept: '" . addslashes( CBTxt::T( 'Please input a value with a valid extension.' ) ) . "',"
						.		"maxlength: $.validator.format('" . addslashes( CBTxt::T( 'Please input no more than {0} characters.' ) ) . "'),"
						.		"minlength: $.validator.format('" . addslashes( CBTxt::T( 'Please input at least {0} characters.' ) ) . "'),"
						.		"rangelength: $.validator.format('" . addslashes( CBTxt::T( 'Please input a value between {0} and {1} characters long.' ) ) . "'),"
						.		"range: $.validator.format('" . addslashes( CBTxt::T( 'Please input a value between {0} and {1}.' ) ) . "'),"
						.		"max: $.validator.format('" . addslashes( CBTxt::T( 'Please input a value less than or equal to {0}.' ) ) . "'),"
						.		"min: $.validator.format('" . addslashes( CBTxt::T( 'Please input a value greater than or equal to {0}.' ) ) . "')"
						.	"});";

		$_CB_framework->outputCbJQuery( $js, 'validate' );
	}
コード例 #4
0
	/**
	 * render frontend category panes
	 *
	 * @param cbgjCategory $row
	 * @param moscomprofilerUser $user
	 * @param object $plugin
	 * @return string
	 */
	static function showCategoryPanes( $row, $user, $plugin ) {
		$authorized		=	cbgjClass::getAuthorization( $row, null, $user );

		if ( $row->get( 'published' ) == 1 ) {
			$state		=	'<div><i class="icon-ban-circle"></i> <a href="javascript: void(0);" onclick="' . cbgjClass::getPluginURL( array( 'categories', 'unpublish', (int) $row->get( 'id' ) ), CBTxt::P( 'Are you sure you want to unpublish this [category]?', array( '[category]' => cbgjClass::getOverride( 'category' ) ) ) ) . '">' . CBTxt::Ph( 'Unpublish [category]', array( '[category]' => cbgjClass::getOverride( 'category' ) ) ) . '</a></div>';
		} else {
			$state		=	'<div><i class="icon-ok"></i> <a href="' . cbgjClass::getPluginURL( array( 'categories', 'publish', (int) $row->get( 'id' ) ) ) . '">' . CBTxt::Ph( 'Publish [category]', array( '[category]' => cbgjClass::getOverride( 'category' ) ) ) . '</a></div>';
		}

		$return			=	'<legend class="gjHeaderTitle">' . $row->getName() . '</legend>'
						.	'<div class="gjGrid row-fluid">'
						.		'<div class="gjGridLeft span9">'
						.			'<div class="gjGridLeftLogo span4">'
						.				$row->getLogo( true )
						.			'</div>'
						.			'<div class="gjGridLeftInfo span8">'
						.				cbgjClass::getIntegrations( 'gj_onBeforeCategoryInfo', array( $row, $user, $plugin ) )
						.				( ( ( ( ! $row->get( 'nested' ) ) && cbgjClass::hasAccess( 'mod_lvl1', $authorized ) ) || $row->get( 'nested' ) ) && $row->nestedCount() ? '<div>' . cbgjClass::getOverride( 'category', true ) . ': ' . $row->nestedCount() . '</div>' : null )
						.				( $row->groupCount() ? '<div>' . cbgjClass::getOverride( 'group', true ) . ': ' . $row->groupCount() . '</div>' : null )
						.				( $row->get( 'user_id' ) ? '<div>' . cbgjClass::getOverride( 'owner' ) . ': ' . $row->getOwnerName( true ) . '</div>' : null )
						.				'<div>' . CBTxt::Ph( 'Types: [cat_types]', array( '[cat_types]' => implode( ', ', $row->getTypes() ) ) ) . '</div>'
						.				'<div>' . CBTxt::Ph( 'Access: [cat_access]', array( '[cat_access]' => $row->getAccess() ) ) . '</div>'
						.				( $row->get( 'parent' ) ? '<div>' . cbgjClass::getOverride( 'category' ) . ': ' . $row->getParent()->getName( 0, true ) . '</div>' : null )
						.				'<div>' . CBTxt::Ph( 'Created: [cat_date]', array( '[cat_date]' => cbFormatDate( $row->get( 'date' ), 1, false ) ) ) . '</div>'
						.				cbgjClass::getIntegrations( 'gj_onAfterCategoryInfo', array( $row, $user, $plugin ) )
						.			'</div>';

		if ( $row->get( 'description' ) ) {
			$return		.=			'<div class="gjGridLeftDesc span12 well well-small">'
						.				$row->getDescription()
						.			'</div>';
		}

		$return			.=		'</div>'
						.		'<div class="gjGridRight span3">'
						.			cbgjClass::getIntegrations( 'gj_onBeforeCategoryMenu', array( $row, $user, $plugin ), null, null )
						.			( cbgjClass::hasAccess( 'cat_nested_create', $authorized ) ? '<div><i class="icon-plus"></i> <a href="' . cbgjClass::getPluginURL( array( 'categories', 'new', (int) $row->get( 'id' ) ) ) . '">' . CBTxt::Ph( 'New [category]', array( '[category]' => cbgjClass::getOverride( 'category' ) ) ) . '</a></div>' : null )
						.			( cbgjClass::hasAccess( 'cat_grp_create', $authorized ) ? '<div><i class="icon-plus"></i> <a href="' . cbgjClass::getPluginURL( array( 'groups', 'new', (int) $row->get( 'id' ) ) ) . '">' . CBTxt::Ph( 'New [group]', array( '[group]' => cbgjClass::getOverride( 'group' ) ) ) . '</a></div>' : null )
						.			( cbgjClass::hasAccess( 'mod_lvl1', $authorized ) ? '<div><i class="icon-pencil"></i> <a href="' . cbgjClass::getPluginURL( array( 'categories', 'edit', (int) $row->get( 'id' ) ) ) . '">' . CBTxt::Ph( 'Edit [category]', array( '[category]' => cbgjClass::getOverride( 'category' ) ) ) . '</a></div>' : null )
						.			( cbgjClass::hasAccess( 'cat_message', $authorized ) && $row->groupCount() ? '<div><i class="icon-envelope"></i> <a href="' . cbgjClass::getPluginURL( array( 'categories', 'message', (int) $row->get( 'id' ) ) ) . '">' . CBTxt::Ph( 'Message [groups]', array( '[groups]' => cbgjClass::getOverride( 'group', true ) ) ) . '</a></div>' : null )
						.			( cbgjClass::hasAccess( 'cat_can_publish', $authorized ) ? $state : null )
						.			( cbgjClass::hasAccess( 'mod_lvl1', $authorized ) ? '<div><i class="icon-remove"></i> <a href="javascript: void(0);" onclick="' . cbgjClass::getPluginURL( array( 'categories', 'delete', (int) $row->get( 'id' ) ), CBTxt::P( 'Are you sure you want to delete this [category] and all its associated [groups]?', array( '[category]' => cbgjClass::getOverride( 'category' ), '[groups]' => cbgjClass::getOverride( 'group', true ) ) ) ) . '">' . CBTxt::Ph( 'Delete [category]', array( '[category]' => cbgjClass::getOverride( 'category' ) ) ) . '</a></div>' : null )
						.			cbgjClass::getIntegrations( 'gj_onAfterCategoryMenu', array( $row, $user, $plugin ), null, null )
						.			( cbgjClass::hasAccess( 'cat_usr_notifications', $authorized ) ? '<div><i class="icon-info-sign"></i> <a href="' . cbgjClass::getPluginURL( array( 'notifications', 'show', (int) $row->get( 'id' ) ) ) . '">' . CBTxt::Th( 'Notifications' ) . '</a></div>' : null )
						.			( $row->get( 'parent' ) ? '<div><i class="icon-share-alt"></i> <a href="' . $row->getParent()->getUrl() . '">' . CBTxt::Ph( 'Back to [category]', array( '[category]' => cbgjClass::getOverride( 'category' ) ) ) . '</a></div>' : null )
						.			( ! $row->get( 'parent' ) ? '<div><i class="icon-share-alt"></i> <a href="' . cbgjClass::getPluginURL( array( 'overview' ) ) . '">' . CBTxt::Ph( 'Back to [overview]', array( '[overview]' => cbgjClass::getOverride( 'overview' ) ) ) . '</a></div>' : null )
						.		'</div>'
						.	'</div>';

		return $return;
	}
コード例 #5
0
	/**
	 * render frontend category message
	 *
	 * @param cbgjCategory $row
	 * @param array $input
	 * @param moscomprofilerUser $user
	 * @param object $plugin
	 */
	static function showCategoryMessage( $row, $input, $user, $plugin ) {
		$row->setPathway( CBTxt::P( 'Message [groups]', array( '[groups]' => cbgjClass::getOverride( 'group', true ) ) ), cbgjClass::getPluginURL( array( 'categories', 'message', (int) $row->get( 'id' ) ) ) );

		$return			=	'<div class="gjCategoryMessage">'
						.		'<form action="' . cbgjClass::getPluginURL( array( 'categories', 'send', (int) $row->get( 'id' ) ) ) . '" method="post" enctype="multipart/form-data" name="gjForm" id="gjForm" class="gjForm form-horizontal">'
						.			'<legend class="gjEditTitle">' . CBTxt::Ph( 'Message [groups]', array( '[groups]' => cbgjClass::getOverride( 'group', true ) ) ) . '</legend>'
						.			'<div class="gjEditContentInput control-group">'
						.				'<label class="gjEditContentInputTitle control-label">' . CBTxt::Th( 'Subject' ) . '</label>'
						.				'<div class="gjEditContentInputField controls">'
						.					$input['subject']
						.					'<span class="gjEditContentInputIcon help-inline">'
						.						cbgjClass::getIcon( null, CBTxt::T( 'Required' ), 'icon-star' )
						.						cbgjClass::getIcon( CBTxt::P( 'Input [groups] message subject.', array( '[groups]' => cbgjClass::getOverride( 'group', true ) ) ) )
						.					'</span>'
						.				'</div>'
						.			'</div>'
						.			'<div class="gjEditContentInput control-group">'
						.				'<label class="gjEditContentInputTitle control-label">' . CBTxt::Th( 'Body' ) . '</label>'
						.				'<div class="gjEditContentInputField controls">'
						.					$input['body']
						.					'<span class="gjEditContentInputIcon help-inline">'
						.						cbgjClass::getIcon( null, CBTxt::T( 'Required' ), 'icon-star' )
						.						cbgjClass::getIcon( CBTxt::P( 'Input [groups] message body.', array( '[groups]' => cbgjClass::getOverride( 'group', true ) ) ) )
						.					'</span>'
						.				'</div>'
						.			'</div>';

		if ( $input['captcha'] !== false ) {
			$return		.=			'<div class="gjEditContentInput control-group">'
						.				'<label class="gjEditContentInputTitle control-label">' . CBTxt::Th( 'Captcha' ) . '</label>'
						.				'<div class="gjEditContentInputField controls">'
						.					'<div style="margin-bottom: 5px;">' . $input['captcha']['code'] . '</div>'
						.					'<div>' . $input['captcha']['input'] . '</div>'
						.					'<span class="gjEditContentInputIcon help-inline">'
						.						cbgjClass::getIcon( null, CBTxt::T( 'Required' ), 'icon-star' )
						.					'</span>'
						.				'</div>'
						.			'</div>';
		}

		$return			.=			'<div class="gjButtonWrapper form-actions">'
						.				'<input type="submit" value="' . htmlspecialchars( CBTxt::T( 'Send Message' ) ) . '" class="gjButton gjButtonSubmit btn btn-primary" />&nbsp;'
						.				'<input type="button" value="' . htmlspecialchars( CBTxt::T( 'Cancel' ) ) . '" class="gjButton gjButtonCancel btn btn-mini" onclick="' . cbgjClass::getPluginURL( array( 'categories', 'show', (int) $row->get( 'id' ) ), CBTxt::T( 'Are you sure you want to cancel? All unsaved data will be lost!' ) ) . '" />'
						.			'</div>'
						.			cbGetSpoofInputTag( 'plugin' )
						.		'</form>'
						.	'</div>';

		echo $return;
	}
コード例 #6
0
	/**
	 * render frontend overview message
	 *
	 * @param array $input
	 * @param moscomprofilerUser $user
	 * @param object $plugin
	 */
	static function showOverviewMessage( $input, $user, $plugin ) {
		global $_CB_framework;

		$generalTitle	=	$plugin->params->get( 'general_title', $plugin->name );
		$pageTitle		=	CBTxt::P( 'Message [category]', array( '[category]' => cbgjClass::getOverride( 'category', true ) ) );

		$_CB_framework->setPageTitle( htmlspecialchars( $pageTitle ) );

		if ( $generalTitle != '' ) {
			$_CB_framework->appendPathWay( htmlspecialchars( CBTxt::T( $generalTitle ) ), cbgjClass::getPluginURL() );
		}

		$_CB_framework->appendPathWay( htmlspecialchars( cbgjClass::getOverride( 'category', true ) . ' ' . cbgjClass::getOverride( 'overview' ) ), cbgjClass::getPluginURL( array( 'overview' ) ) );
		$_CB_framework->appendPathWay( htmlspecialchars( $pageTitle ), cbgjClass::getPluginURL( array( 'overview', 'message' ) ) );

		$return			=	'<div class="gjOverviewMessage">'
						.		'<form action="' . cbgjClass::getPluginURL( array( 'overview', 'send' ) ) . '" method="post" enctype="multipart/form-data" name="gjForm" id="gjForm" class="gjForm form-horizontal">'
						.			'<legend class="gjEditTitle">' . $pageTitle . '</legend>'
						.			'<div class="gjEditContentInput control-group">'
						.				'<label class="gjEditContentInputTitle control-label">' . CBTxt::Th( 'Subject' ) . '</label>'
						.				'<div class="gjEditContentInputField controls">'
						.					$input['subject']
						.					'<span class="gjEditContentInputIcon help-inline">'
						.						cbgjClass::getIcon( null, CBTxt::T( 'Required' ), 'icon-star' )
						.						cbgjClass::getIcon( CBTxt::P( 'Input [categories] message subject.', array( '[categories]' => cbgjClass::getOverride( 'category', true ) ) ) )
						.					'</span>'
						.				'</div>'
						.			'</div>'
						.			'<div class="gjEditContentInput control-group">'
						.				'<label class="gjEditContentInputTitle control-label">' . CBTxt::Th( 'Body' ) . '</label>'
						.				'<div class="gjEditContentInputField controls">'
						.					$input['body']
						.					'<span class="gjEditContentInputIcon help-inline">'
						.						cbgjClass::getIcon( null, CBTxt::T( 'Required' ), 'icon-star' )
						.						cbgjClass::getIcon( CBTxt::P( 'Input [categories] message body.', array( '[categories]' => cbgjClass::getOverride( 'category', true ) ) ) )
						.					'</span>'
						.				'</div>'
						.			'</div>'
						.			'<div class="gjButtonWrapper form-actions">'
						.				'<input type="submit" value="' . htmlspecialchars( CBTxt::T( 'Send Message' ) ) . '" class="gjButton gjButtonSubmit btn btn-primary" />&nbsp;'
						.				'<input type="button" value="' . htmlspecialchars( CBTxt::T( 'Cancel' ) ) . '" class="gjButton gjButtonCancel btn btn-mini" onclick="' . cbgjClass::getPluginURL( array( 'overview' ), CBTxt::T( 'Are you sure you want to cancel? All unsaved data will be lost!' ) ) . '" />'
						.			'</div>'
						.			cbGetSpoofInputTag( 'plugin' )
						.		'</form>'
						.	'</div>';

		echo $return;
	}
コード例 #7
0
	/**
	 * Generates HTML for expert kunena sidebar mode
	 *
	 * @param moscomprofilerUser $user
	 * @param object             $forum
	 * @param object             $model
	 * @return mixed
	 */
	function ShowExpert( $user, $forum, $model, $params ) {
		$html					=	'<div>'
								.		'<span class="view-username">' . $model->getFieldValue( $user, 'formatname', 'html', 'list' ) . '</span> '
								.		'<span class="msgusertype">(' . $user->usertype . ')</span>'
								.	'</div>'
								.	'<div>' . $model->getFieldValue( $user, 'avatar', 'html', 'list' ) . '</div>'
								.	'<div class="viewcover">' . $model->getFieldValue( $user, 'forumrank' ) . '</div>'
								.	'<div class="viewcover"><strong>' . CBTxt::T( 'Karma: ' ) . '</strong>' . $model->getFieldValue( $user, 'forumkarma' ) . '</div>'
								.	'<div class="viewcover"><strong>' . CBTxt::T( 'Posts: ' ) . '</strong>' . $model->getFieldValue( $user, 'forumposts' ) . '</div>'
								.	'<div>'
								.		$model->getStatusIcon( $user )
								.		$model->getPMIcon( $user )
								.		$model->getProfileIcon( $user )
								.	'</div>';
									
		return $html;
	}
コード例 #8
0
 /**
  * Lists the used translations into an HTML table for display
  *
  * @return string
  */
 public function listUsedStrings()
 {
     $r = null;
     if ($this->translatedStrings) {
         $r = '<table class="adminlist" id="cbtranslatedstrings"><tr class="sectiontableheader"><th>' . ($this->mode == 3 ? CBTxt::Th('Untranslated strings on this page') : CBTxt::Th('Translations on this page')) . ': ' . CBTxt::Th('Keys') . '</th><th>' . CBTxt::Th('Default string') . '</th><th>' . CBTxt::Th('Translated string') . '</th></tr>';
         $s = 0;
         foreach ($this->translatedStrings as $k => $v) {
             $columns = $this->generateHtmlColumns($k, $v);
             $r .= '<tr class="sectiontableentry' . (($s & 1) + 1) . ' row' . ($s++ & 1) . '">';
             foreach ($columns as $htmlColumn) {
                 $r .= '<td>' . $htmlColumn . '</td>';
             }
             $r .= '</tr>';
         }
         $r .= '</table>';
     }
     return $r;
 }
コード例 #9
0
	/**
	 * render frontend overview panes
	 *
	 * @param moscomprofilerUser $user
	 * @param object $plugin
	 * @return string
	 */
	static function showOverviewPanes( $user, $plugin ) {
		$overviewDesc			=	CBTxt::Th( $plugin->params->get( 'overview_desc', null ) );
		$authorized				=	cbgjClass::getAuthorization( null, null, $user );
		$categoryCount			=	count( cbgjData::getCategories( array( 'cat_access', 'mod_lvl1' ), array( 'parent', '=', 0 ) ) );

		$return					=	'<legend class="gjHeaderTitle">' . cbgjClass::getOverride( 'category', true ) . ' ' . cbgjClass::getOverride( 'overview' ) . '</legend>'
								.	'<div class="gjGrid row-fluid">'
								.		'<div class="gjGridLeft span9">'
								.			'<div class="gjGridLeftLogo span4">'
								.				'<img alt="' . htmlspecialchars( CBTxt::T( 'Logo' ) ) . '" src="' . $plugin->livePath . '/images/' . $plugin->params->get( 'overview_logo', 'default_overview.png' ) . '" class="gjLogoDefault img-polaroid" />'
								.			'</div>'
								.			'<div class="gjGridLeftInfo span8">'
								.				cbgjClass::getIntegrations( 'gj_onBeforeOverviewInfo', array( $user, $plugin ) )
								.				( $categoryCount ? '<div>' . cbgjClass::getOverride( 'category', true ) . ': ' . $categoryCount . '</div>' : null )
								.				cbgjClass::getIntegrations( 'gj_onAfterOverviewInfo', array( $user, $plugin ) )
								.			'</div>';

		if ( $overviewDesc ) {
			if ( $plugin->params->get( 'overview_desc_content', 0 ) ) {
				$overviewDesc	=	cbgjClass::prepareContentPlugins( $overviewDesc );
			}

			$return				.=			'<div class="gjGridLeftDesc span12 well well-small">' . $overviewDesc . '</div>';
		}

		$return					.=		'</div>'
								.		'<div class="gjGridRight span3">'
								.			cbgjClass::getIntegrations( 'gj_onBeforeOverviewMenu', array( $user, $plugin ), null, null )
								.			( cbgjClass::hasAccess( 'cat_create', $authorized ) ? '<div><i class="icon-plus"></i> <a href="' . cbgjClass::getPluginURL( array( 'categories', 'new' ) ) . '">' . CBTxt::Ph( 'New [category]', array( '[category]' => cbgjClass::getOverride( 'category' ) ) ) . '</a></div>' : null )
								.			( cbgjClass::hasAccess( 'usr_mod', $authorized ) && $categoryCount ? '<div><i class="icon-envelope"></i> <a href="' . cbgjClass::getPluginURL( array( 'overview', 'message' ) ) . '">' . CBTxt::Ph( 'Message [categories]', array( '[categories]' => cbgjClass::getOverride( 'category', true ) ) ) . '</a></div>' : null )
								.			( cbgjClass::hasAccess( 'usr_panel', $authorized ) ? '<div><i class="icon-home"></i> <a href="' . cbgjClass::getPluginURL( array( 'panel' ) ) . '">' . CBTxt::Ph( 'My [panel]', array( '[panel]' => cbgjClass::getOverride( 'panel' ) ) ) . '</a></div>' : null )
								.			cbgjClass::getIntegrations( 'gj_onAfterOverviewMenu', array( $user, $plugin ), null, null )
								.			( cbgjClass::hasAccess( 'gen_usr_notifications', $authorized ) ? '<div><i class="icon-info-sign"></i> <a href="' . cbgjClass::getPluginURL( array( 'notifications', 'show' ) ) . '">' . CBTxt::Th( 'Notifications' ) . '</a></div>' : null )
								.		'</div>'
								.	'</div>';

		return $return;
	}
コード例 #10
0
    function edituser($user, $option, $newCBuser, &$postdata)
    {
        global $_CB_framework, $_PLUGINS;
        $results = $_PLUGINS->trigger('onBeforeUserProfileEditDisplay', array(&$user, 2));
        if ($_PLUGINS->is_errors()) {
            echo "<script type=\"text/javascript\">alert(\"" . str_replace(array("\n", '<br />'), array('\\n', '\\n'), addslashes($_PLUGINS->getErrorMSG())) . "\"); window.history.go(-1); </script>\n";
            exit;
        }
        _CBsecureAboveForm('edituser');
        outputCbTemplate(2);
        initToolTip(2);
        $tabs = new cbTabs($_CB_framework->getUi() == 2 && !isset($_REQUEST['tab']) ? 1 : 0, 2);
        // use cookies in backend to remember selected tab.
        $tabcontent = $tabs->getEditTabs($user, $postdata);
        outputCbJs(2);
        global $_CB_Backend_Title;
        //OLD:	$_CB_Backend_Title	=	array( 0 => array( 'cbicon-48-users', "Community Builder User: <small>" . ( $user->id ? "Edit" . ' [ '. $user->username .' ]' : "New" ) . '</small>' ) );
        //NEW:
        $_CB_Backend_Title = array(0 => array('cbicon-48-users', CBTxt::T('Community Builder User') . ": <small>" . ($user->id ? CBTxt::T('Edit') . ' [ ' . $user->username . ' ]' : CBTxt::T('New')) . '</small>'));
        ob_start();
        if (defined('_CB_VALIDATE_NEW')) {
            cbimport('cb.validator');
            cbValidator::renderGenericJs();
            ?>

$('div.cbtoolbaractions .cbtoolbaraction').click( function() {
		if ( $(this).attr('href') ) {
			var taskVal = $(this).attr('href').substring(1);
		} else if ( $(this).attr('value') ) {
			taskVal = $(this).attr('value').substring(1);
		}
		$('#cbcheckedadminForm input[name=task]').val( taskVal );
		if (taskVal == 'showusers') {
			$('#cbcheckedadminForm')[0].submit();
		} else {
			$('#cbcheckedadminForm').submit();
		}
		return false;
	} );

<?php 
            $cbjavascript = ob_get_contents();
            ob_end_clean();
            $_CB_framework->outputCbJQuery($cbjavascript, array('metadata', 'validate'));
        } else {
            // old way:
            ?>
var cbDefaultFieldbackgroundColor;
function cbFrmSubmitButton() {
	var me = this.elements;
<?php 
            $version = checkJversion();
            if ($version == 1) {
                // var r = new RegExp("^[a-zA-Z](([\.\-a-zA-Z0-9@])?[a-zA-Z0-9]*)*$", "i");
                ?>
	var r = new RegExp("^[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]*$", "i");
<?php 
            } elseif ($version == -1) {
                ?>
	var r = new RegExp("[^A-Za-z0-9]", "i");
<?php 
            } else {
                ?>
	var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");
<?php 
            }
            ?>
	var errorMSG = '';
	var iserror=0;
	if (cbDefaultFieldbackgroundColor === undefined) cbDefaultFieldbackgroundColor = ((me['username'].style.getPropertyValue) ? me['username'].style.getPropertyValue("backgroundColor") : me['username'].style.backgroundColor);
<?php 
            echo $tabs->fieldJS;
            ?>
	if (me['username'].value == "") {
		errorMSG += "<?php 
            echo str_replace(array("\n", "\r"), ' ', CBTxt::html_entity_decode(_REGWARN_UNAME));
            ?>
\n";
		me['username'].style.backgroundColor = "red";
		iserror=1;
	} else if (r.exec(me['username'].value) || (me['username'].value.length < 3)) {
		errorMSG += "<?php 
            echo str_replace(array("\n", "\r"), ' ', sprintf(CBTxt::html_entity_decode(_VALID_AZ09), CBTxt::html_entity_decode(_PROMPT_UNAME), 2));
            ?>
\n";
		me['username'].style.backgroundColor = "red";
		iserror=1;
	} else if (me['username'].style.backgroundColor.slice(0,3)=="red") {
		me['username'].style.backgroundColor = cbDefaultFieldbackgroundColor;
	}
	if ((me['password'].value != "") && (me['password'].value != me['password__verify'].value)){
		errorMSG += "<?php 
            echo CBTxt::html_entity_decode(_REGWARN_VPASS2);
            ?>
\n";
		me['password'].style.backgroundColor = "red"; me['password__verify'].style.backgroundColor = "red";
		iserror=1;
	} else {
		if (me['password'].style.backgroundColor.slice(0,3)=="red") me['password'].style.backgroundColor = cbDefaultFieldbackgroundColor;
		if (me['password__verify'].style.backgroundColor.slice(0,3)=="red") me['password__verify'].style.backgroundColor = cbDefaultFieldbackgroundColor;
	}
	if (!$('input[name^=\"gid\"],select[name^=\"gid\"]').val()) {
		errorMSG += '<?php 
            echo addslashes(CBTxt::T('You must assign user to a group.'));
            ?>
' + "\n";
		iserror=1;
	}

	// loop through all input elements in form
	var fieldErrorMessages = new Array;
	for (var i=0; i < me.length; i++) {
		// check if element is mandatory; here mosReq=1
		if ( (typeof(me[i].getAttribute('mosReq')) != "undefined") && ( me[i].getAttribute('mosReq') == 1) ) {
			if (me[i].type == 'radio' || me[i].type == 'checkbox') {
				var rOptions = me[me[i].getAttribute('name')];
				var rChecked = 0;
				if(rOptions.length > 1) {
					for (var r=0; r < rOptions.length; r++) {
						if ( (typeof(rOptions[r].getAttribute('mosReq')) != "undefined") && ( rOptions[r].getAttribute('mosReq') == 1) ) {
							if (rOptions[r].checked) {
								rChecked=1;
							}
						}
					}
				} else {
					if (me[i].checked) {
						rChecked=1;
					}
				}
				if(rChecked==0) {
					for (var k=0; k < me.length; k++) {
						if (me[i].getAttribute('name') == me[k].getAttribute('name')) {
							if (me[k].checked) {
								rChecked=1;
								break;
							}
						}
					}
				}
				if(rChecked==0) {
					var alreadyFlagged = false;
					for (var j = 0, n = fieldErrorMessages.length; j < n; j++) {
						if (fieldErrorMessages[j] == me[i].getAttribute('name')) {
							alreadyFlagged = true;
							break
						}
					}
					if ( ! alreadyFlagged ) {
						fieldErrorMessages.push(me[i].getAttribute('name'));
						// add up all error messages
						errorMSG += me[i].getAttribute('mosLabel') + ' : <?php 
            echo CBTxt::html_entity_decode(_UE_REQUIRED_ERROR);
            ?>
\n';
						// notify user by changing background color, in this case to red
						me[i].style.backgroundColor = "red";
						iserror=1;
					}
				} else if (me[i].style.backgroundColor.slice(0,3)=="red") me[i].style.backgroundColor = cbDefaultFieldbackgroundColor;
			}
			if (me[i].value == '') {
				// add up all error messages
				errorMSG += me[i].getAttribute('mosLabel') + ' : <?php 
            echo CBTxt::html_entity_decode(_UE_REQUIRED_ERROR);
            ?>
\n';
				// notify user by changing background color, in this case to red
				me[i].style.backgroundColor = "red";
				iserror=1;
			} else if (me[i].style.backgroundColor.slice(0,3)=="red") me[i].style.backgroundColor = cbDefaultFieldbackgroundColor;
		}
	}
	if(iserror==1) {
		alert(errorMSG);
		return false;
	} else {
		return true;
	}
}
$('#cbcheckedadminForm').submit( cbFrmSubmitButton );
$('div.cbtoolbaractions .cbtoolbaraction').click( function() {
		if ( $(this).attr('href') ) {
			var taskVal = $(this).attr('href').substring(1);
		} else if ( $(this).attr('value') ) {
			taskVal = $(this).attr('value').substring(1);
		}
		$('#cbcheckedadminForm input[name=task]').val( taskVal );
		if (taskVal == 'showusers') {
			$('#userEditTable input').val('');
			$('#cbcheckedadminForm')[0].submit();
		} else {
			$('#cbcheckedadminForm').submit();
		}
		return false;
	} );
<?php 
            $cbjavascript = ob_get_contents();
            ob_end_clean();
            $_CB_framework->outputCbJQuery($cbjavascript);
            // end of old way
        }
        if (is_array($results)) {
            echo implode('', $results);
        }
        $this->_overideWebFxLayout();
        ?>
<div id="cbErrorMessages"></div>
<form action="<?php 
        echo $_CB_framework->backendUrl('index.php');
        ?>
" method="post" name="adminForm" id="cbcheckedadminForm" enctype="multipart/form-data" autocomplete="off">
<?php 
        echo "<table cellspacing='0' cellpadding='4' border='0' width='100%' id='userEditTable'><tr><td width='100%'>\n";
        echo $tabcontent;
        echo "</td></tr></table>";
        ?>
  <input type="hidden" name="id" value="<?php 
        echo $user->id;
        ?>
" />
  <input type="hidden" name="newCBuser" value="<?php 
        echo $newCBuser;
        ?>
" />
  <input type="hidden" name="option" value="<?php 
        echo $option;
        ?>
" />
  <input type="hidden" name="task" value="save" />
  <?php 
        echo cbGetSpoofInputTag('user');
        ?>
</form>
<div style="align:center;">
<?php 
        echo getFieldIcons(2, true, true, "", "", true);
        if (isset($_REQUEST['tab'])) {
            $_CB_framework->outputCbJQuery("showCBTab( '" . addslashes(urldecode(stripslashes(cbGetParam($_REQUEST, 'tab')))) . "' );");
        }
        ?>
</div>
<?php 
    }
コード例 #11
0
	function _cbadmin_emailUsers( &$rows, $emailSubject, $emailBody, $limitstart, $limit, $total, $simulationMode ) {
		global $_PLUGINS;
		// simple spoof check security
		cbSpoofCheck( 'cbadmingui' );
		cbRegAntiSpamCheck();
	
		$cbNotification				=	new cbNotification();
		$mode						=	1;		// html
		
		$usernames					=	'';
		foreach ( $rows as $row ) {
			$user					=	CBuser::getUserDataInstance( (int) $row->id );
			$usernames				.=	( $usernames ? ', ' : '' ) . htmlspecialchars( $user->username );
			if ( $simulationMode ) {
				$usernames			.=	' (' . htmlspecialchars( CBTxt::T('email not send: simulation mode') ) . ')';
			} else {
				$extraStrings		=	array();
				$_PLUGINS->trigger( 'onBeforeBackendUserEmail', array( &$user, &$emailSubject, &$emailBody, $mode, &$extraStrings, $simulationMode ) );
				if ( ! $cbNotification->sendFromSystem( $user, $emailSubject, $this->_cbadmin_makeLinksAbsolute( $emailBody ), true, $mode, null, null, null, $extraStrings, false ) ) {
					$usernames		.=	': <span class="cb_result_error">' . htmlspecialchars( CBTxt::T('Error sending email!') ) . '</span>';
				}
			}
		}
	
		if ( $total < $limit ) {
			$limit					=	$total;
		}
		ob_start();
		$usersView					=	_CBloadView( 'users' );
		$usersView->ajaxResults( $usernames, $emailSubject, $this->_cbadmin_makeLinksAbsolute( $emailBody ), $limitstart, $limit, $total );
		$html						=	ob_get_contents();
		ob_end_clean();
	
		$reply						=	array(	'result'		=>	1,
												'htmlcontent'	=>	$html );
		if ( ! ( $total - ( $limitstart + $limit ) > 0 ) ) {
			$reply['result']		=	2;
		}
		echo json_encode( $reply );
		sleep(3);
	}
コード例 #12
0
	public function getAccess() {
		global $_CB_framework;

		static $cache			=	array();

		$id						=	$this->get( 'access' );

		if ( ! isset( $cache[$id] ) ) {
			$access				=	array();

			if ( $id ) foreach ( explode( '|*|', $id ) as $k => $v ) {
				if ( $v == -1 ) {
					$access[$k]	=	CBTxt::T( 'Everybody' );
				} elseif ( $v == -2 ) {
					$access[$k]	=	CBTxt::T( 'All Non-Registered Users' );
				} elseif ( $v == -3 ) {
					$access[$k]	=	CBTxt::T( 'All Registered Users' );
				} elseif ( $v == -4 ) {
					$access[$k]	=	CBTxt::T( 'All Non-Moderators' );
				} elseif ( $v == -5 ) {
					$access[$k]	=	CBTxt::T( 'All Moderators' );
				} else {
					$access[$k]	=	CBTxt::T( $_CB_framework->acl->get_group_name( $v ) );
				}
			}

			$cache[$id]			=	$access;
		}

		return $cache[$id];
	}
コード例 #13
0
    function _cbadmin_ajaxBatch($ajaxUrl, $cssSelectorReply, $formSelector, $postArray, $delay, $limitstart = 0, $limit = 30, $textDuringExecution = null, $textWhenDone = null, $cssSelectorTitle, $titleTextWhenDone)
    {
        global $_CB_framework;
        $ajaxUrl = addslashes($ajaxUrl);
        $cbSpoofField = cbSpoofField();
        $cbSpoofString = cbSpoofString(null, 'cbadmingui');
        $regAntiSpamFieldName = cbGetRegAntiSpamFieldName();
        $regAntiSpamValues = cbGetRegAntiSpams();
        cbGetRegAntiSpamInputTag($regAntiSpamValues);
        // sets the cookie
        $regAntiSpZ = $regAntiSpamValues[0];
        $postString = '';
        foreach ($postArray as $k => $v) {
            if (is_array($v)) {
                foreach ($v as $vv) {
                    $postString .= '&' . urlencode($k) . '[]=' . urlencode($vv);
                }
            } else {
                $postString .= '&' . urlencode($k) . '=' . urlencode($v);
            }
        }
        $postString = addslashes($postString);
        //$errorText				=	addslashes( $errorText );
        $textWaiting = addslashes(CBTxt::T('Waiting delay for next batch...'));
        $textExecuting = addslashes($textDuringExecution ? $textDuringExecution : CBTxt::T('Executing'));
        $textFinished = addslashes($textWhenDone ? $textWhenDone : CBTxt::T('Done'));
        $textError = addslashes(CBTxt::T('ERROR!'));
        $titleTextWhenDone = addslashes($titleTextWhenDone);
        $_CB_framework->outputCbJQuery(<<<EOT
\t{
\t\tvar cbanimate = function() {
\t\t\t\$(this).animate({width:'100%'},20000,function(){
\t\t\t\t\$(this).animate({width:'0%'},1000,cbanimate);
\t\t\t});
\t\t};
\t\tvar cbajaxjsonbatch = function(limitstart,limit,successFnct){
\t\t\t\$.ajax( {\ttype: 'POST',
\t\t\t\t\t\turl:  '{$ajaxUrl}',
\t\t\t\t\t\tdata: \$('{$formSelector}').serialize() + '&{$cbSpoofField}=' + encodeURIComponent('{$cbSpoofString}') + '&{$regAntiSpamFieldName}=' + encodeURIComponent('{$regAntiSpZ}') + '{$postString}' + '&limitstart=' + limitstart,
\t\t\t\t\t\tsuccess: function(response) {
\t\t\t\t\t\t\t\$('{$cssSelectorReply}'+'Bar div').stop().animate( {width:'100%'},500).animate( {width:'0%'},200, function() { \$(this).css({"background-color":"#8f8"}) });
\t\t\t\t\t\t\t\$('{$cssSelectorReply}').fadeOut(400, function() {
\t\t\t\t\t\t\t\t\$(this).html(response.htmlcontent).fadeIn(400, function() {
\t\t\t\t\t\t\t\t\tif ( response.result == 1 ) {
\t\t\t\t\t\t\t\t\t\$(this).each( function() {
\t\t\t\t\t\t\t\t\t\t\$('{$cssSelectorReply}'+'Bar span').html('{$textWaiting}')
\t\t\t\t\t\t\t\t\t\t.siblings('div').animate( {width:'100%'},{$delay}*1000,'linear', function() {
\t\t\t\t\t\t\t\t\t\t\t\$(this).animate( {width:'0%'},200, function() {
\t\t\t\t\t\t\t\t\t\t\t\tcbajaxjsonbatch(limitstart+limit,limit,successFnct);
\t\t\t\t\t\t\t\t\t\t\t});
\t\t\t\t\t\t\t\t\t\t});
\t\t\t\t\t\t\t\t\t});
\t\t\t\t\t\t\t\t\t} else if ( response.result == 2 ) {
\t\t\t\t\t\t\t\t\t\t\$('{$cssSelectorReply}'+'Bar span').html('{$textFinished}');
\t\t\t\t\t\t\t\t\t\tif (successFnct) {
\t\t\t\t\t\t\t\t\t\t\tsuccessFnct.call(response);
\t\t\t\t\t\t\t\t\t\t}
\t\t\t\t\t\t\t\t\t} else {
\t\t\t\t\t\t\t\t\t\t\$('{$cssSelectorReply}'+'Bar span').html('{$textError}')
\t\t\t\t\t\t\t\t\t\t.siblings('div').css({"background-color":"#fcc"});
\t\t\t\t\t\t\t\t\t}
\t\t\t\t\t\t\t\t});
\t\t\t\t\t\t\t})
\t\t\t\t\t\t},
\t\t\t\t\t\terror: function (XMLHttpRequest, textStatus, errorThrown) {
\t\t\t\t\t\t\t\$('{$cssSelectorReply}'+'Bar div').stop().animate( {width:'100%'},500).css({"background-color":"#f87"});
\t\t\t\t\t\t\t\$('{$cssSelectorReply}'+'Bar span').html('{$textError}');
\t\t\t\t\t\t\t\$('{$cssSelectorReply}').hide().html( ( errorThrown ? errorThrown : textStatus ? textStatus : 'No additional message' ).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;") ).fadeIn('fast');
\t\t\t\t\t\t},
\t\t\t\t\t\tdataType: 'json'
\t\t\t});
\t\t\t\$('{$cssSelectorReply}'+'Bar span').html('{$textExecuting}')
\t\t\t.siblings('div').css({"background-color":"#ee8"}).each(cbanimate);
\t\t};
\t\t
\t\tvar cbTitleSetDone = function() {
\t\t\t\$('{$cssSelectorTitle}').html('{$titleTextWhenDone}');
\t\t};
\t\t\tcbajaxjsonbatch({$limitstart},{$limit},cbTitleSetDone);
\t}
EOT
);
    }
コード例 #14
0
	/**
	 * render frontend users
	 *
	 * @param object $rows
	 * @param object $pageNav
	 * @param cbgjCategory $category
	 * @param cbgjGroup $group
	 * @param moscomprofilerUser $user
	 * @param object $plugin
	 * @return string
	 */
	static function showUsers( $rows, $pageNav, $category, $group, $user, $plugin ) {
		$groupUsersSearch		=	$plugin->params->get( 'group_users_search', 1 );
		$groupUsersPaging		=	$plugin->params->get( 'group_users_paging', 1 );
		$groupUsersLimitbox		=	$plugin->params->get( 'group_users_limitbox', 1 );

		$return					=	'<form action="' . $group->getUrl() . '" method="post" name="gjForm_users" id="gjForm_users" class="gjUsers_form">'
								.		( $groupUsersSearch && ( $pageNav->searching || $pageNav->total ) ? '<div class="gjTop gjTopRight">' . $pageNav->search . '</div>' : null );

		if ( $rows ) {
			$return				.=		'<div class="gjContent">';

			foreach ( $rows as $row ) {
				$authorized		=	cbgjClass::getAuthorization( $category, $group, $user, $row->getOwner() );
				$adminUrl		=	cbgjClass::getPluginURL( array( 'users', 'admin', (int) $category->get( 'id' ), (int) $group->get( 'id' ), (int) $row->get( 'id' ) ), CBTxt::P( 'Are you sure you want to set this [user] to [admin]?', array( '[user]' => cbgjClass::getOverride( 'user' ), '[admin]' => cbgjClass::getOverride( 'admin' ) ) ) );
				$modUrl			=	cbgjClass::getPluginURL( array( 'users', 'mod', (int) $category->get( 'id' ), (int) $group->get( 'id' ), (int) $row->get( 'id' ) ), CBTxt::P( 'Are you sure you want to set this [user] to [mod]?', array( '[user]' => cbgjClass::getOverride( 'user' ), '[mod]' => cbgjClass::getOverride( 'moderator' ) ) ) );
				$activeUrl		=	cbgjClass::getPluginURL( array( 'users', 'active', (int) $category->get( 'id' ), (int) $group->get( 'id' ), (int) $row->get( 'id' ) ), CBTxt::P( 'Are you sure you want to set this [user] as Active?', array( '[user]' => cbgjClass::getOverride( 'user' ) ) ) );
				$inactiveUrl	=	cbgjClass::getPluginURL( array( 'users', 'inactive', (int) $category->get( 'id' ), (int) $group->get( 'id' ), (int) $row->get( 'id' ) ), CBTxt::P( 'Are you sure you want to set this [user] as Inactive?', array( '[user]' => cbgjClass::getOverride( 'user' ) ) ) );
				$banUrl			=	cbgjClass::getPluginURL( array( 'users', 'ban', (int) $category->get( 'id' ), (int) $group->get( 'id' ), (int) $row->get( 'id' ) ), CBTxt::P( 'Are you sure you want to ban this [user]?', array( '[user]' => cbgjClass::getOverride( 'user' ) ) ) );
				$deleteUrl		=	cbgjClass::getPluginURL( array( 'users', 'delete', (int) $category->get( 'id' ), (int) $group->get( 'id' ), (int) $row->get( 'id' ) ), CBTxt::P( 'Are you sure you want to delete this [user]?', array( '[user]' => cbgjClass::getOverride( 'user' ) ) ) );

				if ( $row->get( 'status' ) == 0 ) {
					$typeClass	=	'gjUserTypePENDING';
					$type		=	CBTxt::Th( 'Pending' );
				} elseif ( $row->get( 'status' ) == -1 ) {
					$typeClass	=	'gjUserTypeBANNED';
					$type		=	CBTxt::Th( 'Banned' );
				} elseif ( $row->get( 'status' ) == 2 ) {
					$typeClass	=	'gjUserTypeMOD';
					$type		=	cbgjClass::getOverride( 'moderator' );
				} elseif ( $row->get( 'status' ) == 3 ) {
					$typeClass	=	'gjUserTypeADMIN';
					$type		=	cbgjClass::getOverride( 'admin' );
				} elseif ( $row->get( 'status' ) == 4 ) {
					$typeClass	=	'gjUserTypeOWNER';
					$type		=	cbgjClass::getOverride( 'owner' );
				} else {
					$typeClass	=	'gjUserTypeUSER';
					$type		=	cbgjClass::getOverride( 'user' );
				}

				if ( ( ! in_array( $row->get( 'status' ), array( -1, 4 ) ) ) && ( ( $row->get( 'status' ) != 3 ) || cbgjClass::hasAccess( 'mod_lvl2', $authorized ) ) && cbgjClass::hasAccess( 'mod_lvl3', $authorized ) ) {
					$ban		=	'<div><a href="javascript: void(0);" onclick="' . $banUrl . '"><i class="icon-lock"></i> ' . CBTxt::T( 'Ban' ) . '</a></div>';
				} elseif ( ( $row->get( 'status' ) == -1 ) && cbgjClass::hasAccess( 'mod_lvl3', $authorized ) ) {
					$ban		=	'<div><a href="javascript: void(0);" onclick="' . $activeUrl . '"><i class="icon-ok"></i> ' . CBTxt::T( 'Unban' ) . '</a></div>';
				} else {
					$ban		=	null;
				}

				if ( ( $row->get( 'status' ) == 1 ) && cbgjClass::hasAccess( 'mod_lvl3', $authorized ) ) {
					$promote	=	'<div><a href="javascript: void(0);" onclick="' . $modUrl . '"><i class="icon-thumbs-up"></i> ' . CBTxt::T( 'Promote' ) . '</a></div>';
				} elseif ( ( $row->get( 'status' ) == 2 ) && cbgjClass::hasAccess( 'mod_lvl2', $authorized ) ) {
					$promote	=	'<div><a href="javascript: void(0);" onclick="' . $adminUrl . '"><i class="icon-thumbs-up"></i> ' . CBTxt::T( 'Promote' ) . '</a></div>';
				} else {
					$promote	=	null;
				}

				if ( ( $row->get( 'status' ) == 2 ) && cbgjClass::hasAccess( 'mod_lvl3', $authorized ) ) {
					$demote		=	'<div><a href="javascript: void(0);" onclick="' . $activeUrl . '"><i class="icon-thumbs-down"></i> ' . CBTxt::T( 'Demote' ) . '</a></div>';
				} elseif ( ( $row->get( 'status' ) == 3 ) && cbgjClass::hasAccess( 'mod_lvl2', $authorized ) ) {
					$demote		=	'<div><a href="javascript: void(0);" onclick="' . $modUrl . '"><i class="icon-thumbs-down"></i> ' . CBTxt::T( 'Demote' ) . '</a></div>';
				} elseif ( ( $row->get( 'status' ) == 1 ) && cbgjClass::hasAccess( 'mod_lvl4', $authorized ) ) {
					$demote		=	'<div><a href="javascript: void(0);" onclick="' . $inactiveUrl . '"><i class="icon-thumbs-down"></i> ' . CBTxt::T( 'Demote' ) . '</a></div>';
				} else {
					$demote		=	null;
				}

				if ( ( $row->get( 'status' ) != 4 ) && cbgjClass::hasAccess( 'mod_lvl2', $authorized ) ) {
					$delete		=	'<div><a href="javascript: void(0);" onclick="' . $deleteUrl . '"><i class="icon-remove"></i> ' . CBTxt::T( 'Delete' ) . '</a></div>';
				} else {
					$delete		=	null;
				}

				$beforeMenu		=	cbgjClass::getIntegrations( 'gj_onBeforeGroupUserMenu', array( $row, $group, $category, $user, $plugin ) );
				$afterMenu		=	cbgjClass::getIntegrations( 'gj_onAfterGroupUserMenu', array( $row, $group, $category, $user, $plugin ) );

				$return			.=			'<div class="gjContentBox mini-layout">'
								.				'<div class="gjContentBoxRow">' . $row->getOwnerName( true ) . '</div>'
								.				'<div class="gjContentBoxRow">' . $row->getOwnerAvatar( true ) . '</div>'
								.				'<div class="gjContentBoxRow">' . $row->getOwnerOnline() . '</div>'
								.				'<div class="gjContentBoxRow">'
								.					cbgjClass::getIntegrations( 'gj_onBeforeGroupUserInfo', array( $row, $group, $category, $user, $plugin ) )
								.					'<span class="' . $typeClass . '" title="' . cbFormatDate( $row->get( 'date' ), 1, false ) . '">' . $type . '</span>'
								.					cbgjClass::getIntegrations( 'gj_onAfterGroupUserInfo', array( $row, $group, $category, $user, $plugin ) )
								.				'</div>';

				if ( ( $row->get( 'status' ) == 0 ) && cbgjClass::hasAccess( 'mod_lvl4', $authorized ) ) {
					$return		.=				'<div class="gjContentBoxRow">'
								.					'<input type="button" value="' . htmlspecialchars( CBTxt::Th( 'Approve' ) ) . '" class="gjButton btn btn-mini btn-success" onclick="' . cbgjClass::getPluginURL( array( 'users', 'active', (int) $category->get( 'id' ), (int) $group->get( 'id' ), (int) $row->get( 'id' ) ), CBTxt::P( 'Are you sure you want to set this [user] as Active?', array( '[user]' => cbgjClass::getOverride( 'user' ) ) ), true ) . '" />'
								.				'</div>';
				}

				if ( $beforeMenu || $ban || $delete || $promote || $demote || $afterMenu ) {
					$return		.=				'<div class="gjContentBoxRow">'
								.					cbgjClass::getDropdown( ( $beforeMenu . $ban . $delete . $promote . $demote . $afterMenu ), CBTxt::T( 'Menu' ) )
								.				'</div>';
				}

				$return			.=			'</div>';
			}

			$return				.=		'</div>';
		} else {
			$return				.=		'<div class="gjContent">';

			if ( $groupUsersSearch && $pageNav->searching ) {
				$return			.=			CBTxt::Ph( 'No [user] search results found.', array( '[user]' => cbgjClass::getOverride( 'user' ) ) );
			} else {
				$return			.=			CBTxt::Ph( 'There are no [users] available.', array( '[users]' => cbgjClass::getOverride( 'user', true ) ) );
			}

			$return				.=		'</div>';
		}

		if ( $groupUsersPaging ) {
			$return				.=		'<div class="gjPaging pagination pagination-centered">'
								.			( $pageNav->total > $pageNav->limit ? $pageNav->pagelinks : null )
								.			( ! $groupUsersLimitbox ? $pageNav->getLimitBox( false ) : ( $pageNav->total ? '<div class="gjPagingLimitbox">' . $pageNav->limitbox . '</div>' : null ) )
								.		'</div>';
		}

		$return					.=		cbGetSpoofInputTag( 'plugin' )
								.	'</form>';

		return $return;
	}
コード例 #15
0
* @version $Id: cbteamplugins_language.php 1149 2010-07-06 14:25:51Z beat $
* @package Community Builder
* @subpackage Default CB-Team Plugins Language file (English)
* @author Beat, Nant and JoomlaJoe
* @copyright (C) www.joomlapolis.com
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
*/
// ensure this file is being included by a parent file:
if (!(defined('_VALID_CB') || defined('_JEXEC') || defined('_VALID_MOS'))) {
    die('Direct Access to this location is not allowed.');
}
// 1.2 Stable:
// ProfileBook plugin: (new method: UTF8 encoding here):
CBTxt::addStrings(array('Profile Book' => 'Профильная книжка', 'Name' => 'Имя', 'Entry' => 'Ввод', 'Profile Book Description' => 'Описание Профильной книжки', 'Created On: %s' => 'Создано: %s', 'Edited By %s On: %s' => 'Отредактировано пользователем %s от %s', '<br /><strong>[Notice: </strong><em>Last Edit by Site Moderator</em><strong>]</strong>' => '<br /><strong>[Пояснение: </strong><em>Последнее редактирование модератором сайта</em><strong>]</strong>', 'Users Feedback:' => 'Отзыв пользователей:', 'Edited by Site Moderator' => 'Редактировано модератором сайта', 'Comments' => 'Комментарии', 'Name' => 'Имя', 'Email' => 'Адрес эл.почты', 'Location' => 'Поместность', 'This user currently doesn\'t have any posts.' => 'У этого пользователя в настоящее время нет сообщений.', 'User Rating' => 'Ранг пользователя', 'Web Address' => 'Веб адрес', 'Submit Entry' => 'Отправить введенные данные', 'Update Entry' => 'Обновить данные', 'Enable Profile Entries' => 'Включить ввод профильных данных', 'Auto Publish' => 'Автоматическая публикация', 'Notify Me' => 'Известить меня', 'Enable visitors to your profile to make comments about you and your profile.' => 'Дать возможность посетителям Вашего профиля оставлять комментарии о Вас и Вашем профиле.', 'Enable Auto Publish if you want entries submitted to be automatically approved and displayed on your profile.' => 'Включите "Автоматическая публикация" если Вы хотите, чтобы отправленные записи одобрялись и публиковались автоматически в вашем профиле.', 'Enable Notify Me if you would like to receive an email notification each time someone submits an entry.  This is recommended if you are not using the Auto Publish feature.' => 'Включите "Известить меня" если Вы хотите получать оповещение по эл.почте всякий раз, когда кто-либо отправляет запись. Это рекомендуется если у Вас не включена "Автоматическая публикация".', 'Enable Profile Blog' => 'Включить блог профиля', 'Enable Profile Wall' => 'Включить стенку профиля', 'Enable your blog on your profile.' => 'Включить Ваш блог в Вашем профиле.', 'Enable the wall on your profile so yourself and visitors can write on it.' => 'Включить стенку в Вашем профиле для того, чтобы Вы сами и Ваши посетители могли писать на ней.', 'Enable Notify Me if you\'d like to receive an email notification each time someone submits an entry. This is recommended if you are not using the Auto Publish feature.' => 'Включить "Известить меня" если Вы хотите получать оповещения по эл.почте всякий раз, когда кто-либо отправляет запись. Это рекомендуется если у Вас не включена"Автоматическая публикация".', 'Bold' => 'Жирный', 'Italic' => 'Италический', 'Underline' => 'Подчеркнутый', 'Quote' => 'Цитата', 'Code' => 'Код', 'List' => 'Список', 'List' => 'Список', 'Image' => 'Картинка', 'Link' => 'Ссылка', 'Close' => 'Закрыть', 'Color' => 'Цвет', 'Size' => 'Размер', 'Item' => 'Предмет', 'Bold text: [b]text[/b]' => 'Жирный текст: [b]текст[/b]', 'Italic text: [i]text[/i]' => 'Италический текст: [i]текст[/i]', 'Underline text: [u]text[/u]' => 'Подчеркнутый текст: [u]текст[/u]', 'Quoted text: [quote]text[/quote]' => 'Цитируемый текст: [quote]текст[/quote]', 'Code display: [code]code[/code]' => 'Отобразить код: [code]код[/code]', 'Unordered List: [ul] [li]text[/li] [/ul] - Hint: a list must contain List Items' => 'Неупорядочный список: [ul] [li]текст[/li] [/ul] - Подсказка: список должен содержать его строки', 'Ordered List: [ol] [li]text[/li] [/ol] - Hint: a list must contain List Items' => 'Упорядочный список: [ol] [li]список[/li] [/ol] - Подсказка: список должен содержать его строки', 'Image: [img size=(01-499)]http://www.google.com/images/web_logo_left.gif[/img]' => 'Картинка: [img size=(01-499)]http://www.google.com/images/web_logo_left.gif[/img]', 'Link: [url=http://www.zzz.com/]This is a link[/url]' => 'Ссылка: [url=http://www.zzz.com/]Это есть ссылка[/url]', 'Close all open bbCode tags' => 'Закрыть все открытые теги bbCode', 'Color: [color=#FF6600]text[/color]' => 'Цвет: [color=#FF6600]текст[/color]', 'Size: [size=1]text size[/size] - Hint: sizes range from 1 to 5' => 'Размер: [size=1]text size[/size] - Подсказка: размеры градируются от 1 до 5', 'List Item: [li] list item [/li] - Hint: a list item must be within a [ol] or [ul] List' => 'Строка списка: [li] строка списка [/li] - Подсказка: строка списка должна находиться внутри списков [ol] или [ul]', 'Dimensions' => 'Размеры', 'File Types' => 'Типы файлов', 'Submit' => 'Отправить', 'Preview' => 'Предварительный просмотр', 'Cancel' => 'Отменить', 'User Comments' => 'Комментарии пользователя', 'Your Feedback' => 'Ваш отзыв', 'Edit' => 'Редактировать', 'Update' => 'Обновить', 'Delete' => 'Удалить', 'Publish' => 'Публиковать', 'Sign Profile Book' => 'Подписать книгу профиля', 'Give Feedback' => 'Оставить отзыв', 'Edit Feedback' => 'Редактировать отзыв', 'Un-Publish' => 'Отключить публикацию', 'Not Published' => 'Не опубликовано', 'Color' => 'Цвет', 'Size' => 'Размер', 'Very Small' => 'Очень мелкий', 'Small' => 'Мелкий', 'Normal' => 'Обычный', 'Big' => 'Крупный', 'Very Big' => 'Очень крупный', 'Close All Tags' => 'Закрыть все теги', 'Standard' => 'Стандартно', 'Red' => 'Красный', 'Purple' => 'Пурпурный', 'Blue' => 'Голубой', 'Green' => 'Зеленый', 'Yellow' => 'Желтый', 'Orange' => 'Оранжевый', 'Darkblue' => 'Темно-голубой', 'Gold' => 'Золотистый', 'Brown' => 'Коричневый', 'Silver' => 'Серебристый', 'You have received a new entry in your %s' => 'Вы получили новую запись в Вашем %s', '%s has just submitted a new entry in your %s.' => '%s отправил новую запись в Вашем %s.', 'An entry in your %s has just been updated' => 'Запись в Вашем %s только что была обновлена', '%s has just submitted an edited entry for %s in your %s.' => '%s только что отправил отредактированную запись для %s в Вашем %s.', "\n\nYour current setting is that you need to review entries in your %1\$s. Please login, review the new entry and publish if you agree. Direct access to your %1\$s:\n%2\$s\n" => "\n\nСогласно нынешних настроек, Вым необходимо просмотреть записи в Вашем %1\$s. Пожалуйста войдите на сайт, просмотрите новую запись и, если согласны, опубликуйте ее. Прямой доступ к Вашей %1\$s:\n%2\$s\n", "\n\nYour current setting is that new entries in your %1\$s are automatically publihed. To see the new entry, please login. You can then see the new entry and take appropriate action if needed. Direct access to your %1\$s:\n%2\$s\n" => "\n\nСогласно Ваших настоящих настроек, новые записи в Вашем %1\$s публикуются автоматически. Чтобы просмотреть новую запись, пожалуйста войдите на сайт. Вы сможете увидеть новую запись и, при необходимости, принять соответствующие меры. Прямой доступ к Вашей %1\$s:\n%2\$s\n", 'Name is Required!' => 'Требуется имя!', 'Email Address is Required!' => 'Требуется адрес эл.почты!', 'Comment is Required!' => 'Требуется комментарий!', 'User Rating is Required!' => 'Требуется рэйтинг пользователя!', 'You have not selected a User Rating. Do you really want to provide an Entry without User Rating ?' => 'Вы не выбрали рэйтинг пользователя. Вы действительно желаете предоставить запись без рэйтинга пользователя?', 'Return Gesture' => 'Ответный жест', 'Profile Rating' => 'Рэйтинг профиля', 'You have not selected your User Rating.' => 'Вы не выбрали рэйтинг пользователя.', 'Would you like to give a User Rating ?' => 'Вы не хотели бы дать свой рэйтинг пользователю?', 'Do you really want to delete permanently this Comment and associated User Rating ?' => 'Вы действительно желаете удалить навсегда этот комментарий и относящийся к нему рэйтинг пользователя?', 'You are about to edit somebody else\'s text as a site Moderator. This will be clearly noted. Proceed ?' => 'Как модератор сайта вы собираетесь отредактировать чей-то текст. Это будет явно видно. Продолжить?', 'Hidden' => 'Скрытно', 'Feedback from %s: ' => 'Отзыв от %s: ', 'Poor' => 'Слабый', 'Best' => 'Лучший', 'Vote %s star' => 'Голосовать %s звезда', 'Vote %s stars' => 'Голосовать %s звезд', 'Cancel Rating' => 'Аннулировать Рэйтинг', 'Average Profile Rating by other users' => 'Средний рэйтинг профиля другими пользователями', 'Title' => 'Заголовок', 'Title is Required!' => 'Требуется заголовок!', 'NEW' => 'НОВЫЙ', 'Mark Read' => 'Отметить прочитанной', 'Mark Unread' => 'Отметить непрочитанной', 'You have %s new %s post' => 'У Вас %s новое %s сообщение', 'You have %s new %s posts' => 'У Вас %s новых %s сообщений', 'Add new blog entry' => 'Добавить новую запись блога', 'Wall entry' => 'Запись стенки', 'Write on the wall' => 'Написать на стенке', 'Entry' => 'Запись', 'Blog text' => 'Текст блога', 'Save Blog Entry' => 'Сохранить запись блога', 'Video' => 'Видео', 'Video: [video type=youtube]id[/video] - Hint: id is only the embedding id of the video' => 'Видео: [video type=youtube]id[/video] - Подсказка: id является только идентификатором внедряемого видео', '%s added a new guestbook entry to %s' => '%s добавил новую запись гостевой книги к %s', '%s wrote a new blog "%s"' => '%s написал новый блог "%s"', '%s wrote a new blog' => '%s написал новый блог', '%s added a new wall entry to %s' => '%s добавил новую запись на стенку к %s', '%s added a new wall entry' => '%s добавил новую запись стенки', 'No entries have been made!' => 'Никаких записей сделано не было!', 'Untranslated strings on this page' => 'На этой странице существуют непереведенные строчки', 'Translations on this page' => 'Переводы на этой странице', 'English string' => 'Строчки на английском языке', 'Translated string' => 'Переведенная строчка'));
// Profile Gallery plugin: (new method: UTF8 encoding here):
CBTxt::addStrings(array('CB Profile Gallery' => 'Галерея профиля CB', 'This tab contains a basic no-frills image Gallery for CB profiles' => 'Эта вкладка содержит основную безхитросную галерею картинок для профилей CB', 'Current Items' => 'Текущие составные части', 'Keeps track of number of stored items' => 'Сохраняет след числа сохраненных составных', 'Date of last update to Gallery items in this profile' => 'Дата последнего обновления составных частей галереи этого профиля', 'Last Update' => 'Последнее обновление', 'Enable Gallery' => 'Включить галерею', 'Select Yes or No to turn-on or off the Gallery Tab' => 'Выберите "Да" или "Нет" чтобы включить или выключить вкладку галереи', 'Short Greeting' => 'Короткое приветствие', 'Enter a short greeting for your gallery viewers' => 'Введите короткое приветствие для просматривающих Вашу галерею', 'Item Quota' => 'Квота составляющих', 'The admin may use this to over-ride the default value of allowable items for each profile owner' => 'Администратор может использовать это для перезаписи значения по умолчанию разрешенных составных для каждого владельца профиля', 'No Items published in this profile gallery' => 'В галерее этого профиля опубликованных составных нет', 'Title:' => 'Заголовок:', 'Description:' => 'Описание:', 'Image File:' => 'Файл картинки:', 'Submit New Gallery Entry' => 'Отправить новую запись галереи', 'Submit Gallery Entry' => 'Отправить запись галереи', 'A file must be selected via the Browse button' => 'Необходимо выбрать файл с помощью кнопки "Пролистать"', 'A gallery item title must be entered' => 'Необходимо ввести заголовок составной части галереи', 'Autopublish items' => 'Опубликовать составные части автоматически', 'Select Yes or No to autopublish or not newly uploaded gallery items' => 'Выберите "Да" или "Нет" для автоматической публикации только что загруженных составных частей галереи', 'Current Storage' => 'Нынешний размер диска', 'This field keeps track of the total size of all uploaded gallery items - like a quota usage field. Value is in bytes.' => 'Это поле следит за полным размером всех загруженных составных частей галереи - как поле использования квоты (значение в bytes).', 'Greetings - connections only viewing enabled' => 'Приветствия - включен просмотр только соединений', 'Sorry - connections only viewing enabled for this gallery that currently has %1$d items in it.' => 'Извините - для этой галереи, которая в настоящее время имеет %1$d составных частей, включен просмотр только соединений.', 'Automatically approve' => 'Одобрять автоматически', 'This value can be set by the admin to over-ride the gallery plugin backend default approval parameter' => 'Это значение может быть включено администратором для перезаписи назначаемого по умолчанию параметра одобрения галереи плагина', 'Storage Quota (KB)' => 'Квота на дисковое простаранство (KB)', 'This value can be set by the admin to over-ride the gallery plugin backend default user quota' => 'Это значение может может быть установлено администратором для перезаписи отведенной пользователю по умолчанию квоты плагина галереи', 'Maximum allowable single upload size exceeded - gallery item rejected' => 'Максимальная квота файла для загрузки превышена - составная часть галереи отвергнута', 'File extension not authorized' => 'Файлы с такими расширениями не допускаются', ' [Your current quota marks: %1$d/%2$d items %3$d/%4$d Kbytes (%5$d%% consumed - %6$d%% free)]' => ' [Ваша квота в настоящее время: %1$d/%2$d составные части %3$d/%4$d Kbytes (%5$d%% употреблено - %6$d%% свободно) - размер разовой загрузки %7$d Kbytes]', 'This file would cause you to exceed you quota - gallery item rejected' => 'Этот файл привел бы к превышению отведенной Вам квоты - составная часть галлереи отвергнута', 'Access Mode' => 'Вид доступа', 'Select desirable access mode: Public access, Registered users only, Connected users only, REG-S for Registered-stealth, CON-S for Connections-stealth' => 'Выберите желаемый вид доступа: Все, только Зарегистрированные пользователи, только Подсоединенные пользователи, REG-S для Скрытно-зарегистрированных, CON-S for Скрытно-соединенных', 'Allow Public Access' => 'Разрешить допуск всем', 'Allow Registered Access' => 'Разрешить допуск зарегистрированным', 'Allow Connections Access' => 'Разрешить допуск соединенным', 'Registered Stealth Access' => 'Допуск скрытно-зарегистрированным', 'Connections Stealth Access' => 'Допуск скрытно-соединенным', 'Display Format' => 'Формат отображения', 'Select Display Format to apply for gallery viewing.' => 'Выберите формат отображения чтобы сделать заявку на просмотр галереи.', 'Pictures gallery list format' => 'Формат списка картинок галереи', 'File list format' => 'Формат списка файлов', 'Picture gallery list lightbox format' => 'Формат lightbox списка галереи', 'Gallery repository successfully created!' => 'Хранилище галереи успешно создано!', 'Gallery repository could not be created! Please notify system admin!' => 'Репозитор галереи создать не удалось! Пожалуйста известите системного администратора!', 'Image ToolBox failure! - Please notify system admin - ' => 'Ошибка "Ящика инструментов" картинок! - Пожалуйста известите системного администратора - ', 'The file upload has failed! - Please notify your system admin!' => 'Ошибка загрузки файла! - Пожалуйста известите системного администратора!', 'The file %1$s has been successfully uploaded!' => 'Файл %1$s был успешно загружен!', 'The file %1$s has been successfully uploaded and tn%1$s thumbnail created!' => 'Файл %1$s был успешно загружен и tn%1$s миниатюра создана!', 'Only Registered Members Allowed to view the %1$d items in this Gallery!' => 'Только зарегистрированным членам разрешается просмаривать  %1$d составные части в этой галерее!', 'Delete' => 'Удалить', 'Publish' => 'Публиковать', 'Unpublish' => 'Не публик.', 'Approve' => 'Одобрить', 'Revoke' => 'Отозвать', 'Default setting' => 'Настройка по умолчанию', 'Are you sure you want to delete selected item ? The selected item will be deleted and cannot be undone!' => 'Вы в самом деле хотите удалить выбранное? Выбранное будет удалено без возможности вернуться на шаг назад!', 'Max single upload (KB)' => 'Максимальная разовая загрузка (KB)', 'This value can be set by the admin to over-ride the gallery plugin backend default maximum single upload size' => 'Это значение может быть включено администратором для перезаписи настроенного по умолчанию максимального размера разовой загрузки плагина галереи', 'Updated' => 'Обновлено', 'Title' => 'Заголовок', 'Description' => 'Описание', 'Download' => 'Скачать', 'Actions' => 'Действия', 'Never' => 'Никогда', 'Gallery Moderation' => 'Модерация галереи', 'This tab contains all pending autorization gallery items' => 'Эта вкладка содержит все ожидающие одобрения составные части галереи', 'New Gallery Item just uploaded' => 'Новая составная часть галереи загружена', "A new Gallery item has just been uploaded and may require approval.\n" . "This email contains the item details\n\n" . "Gallery Item Type - %1\$s\n" . "Gallery Item Title - %2\$s\n" . "Gallery Item Description - %3\$s\n\n" . "Username - %4\$s\n" . "Profile Link - %5\$s \n\n\n" . "Please do not respond to this message as it is automatically generated and is for information purposes only\n" => "Новая составная часть галереи только что была загружена и может потребовать одобрения.\n" . "Это эл.письмо содержит подробности составной части\n\n" . "Тип составной части галереи - %1\$s\n" . "Заголовок составной части галереи - %2\$s\n" . "Описание составной части галереи - %3\$s\n\n" . "Имя пользователя - %4\$s\n" . "Ссылка профиля - %5\$s \n\n\n" . "Пожалуйста не отвечайте на это сообщение поскольку оно создано автоматически в чисто информационных целях\n", 'Your Gallery Item has been approved!' => 'Ваша составная часть гелереи была одобрена!', "A Gallery item in your Gallery Tab has just been approved by a moderator.\n\n\n" . "Please do not respond to this message as it is automatically generated and is for information purposes only\n" => "Составная часть галереи во вкладке Вашей галереи была только что одобрена модератором.\n\n\n" . "Пожалуйста не отвечайте на это сообщение поскольку оно создано автоматически в чисто информационных целях\n", 'Your Gallery Item has been revoked!' => 'Составная часть Вашей галереи была отозвана!', "A Gallery item in your Gallery Tab has just been revoked by a moderator.\n\n\n" . "If you feel that this action is unjustified please contact one of our moderators.\n" . "Please do not respond to this message as it is automatically generated and is for information purposes only\n" => "Составная часть галереи в Вашей вкладке галереи была только что отозвана модератором.\n\n\n" . "Если Вы чувствуете что эти действия являются неоправданными, пожалуйста свяжитесь с одним из наших модераторов.\n" . "Пожалуйста не отвечайте на это сообщение поскольку оно создано автоматически в чисто информационных целях\n", 'Your Gallery Item has been deleted!' => 'Составная часть Вашей галереи была удалена!', "A Gallery item in your Gallery Tab has just been deleted by a moderator.\n\n\n" . "If you feel that this action is unjustified please contact one of our moderators.\n" . "Please do not respond to this message as it is automatically generated and is for information purposes only\n" => "Составная часть галереи в Вашей вкладке галереи была только что удалена модератором.\n\n\n" . "Если Вы чувствуете что эти действия являются неоправданными, пожалуйста свяжитесь с одним из наших модераторов.\n" . "Пожалуйста не отвечайте на это сообщение поскольку оно создано автоматически в чисто информационных целях\n", 'Your Gallery item is pending approval by a site moderator.' => 'Ваша составная часть галереи ожидает одобрения модератором сайта.', 'Your Gallery item quota has been reached. You must delete an item in order to upload a new one or you may contact the admin to increase your quota.' => 'Вы достигли квоты, отведенной Вашим составным частям галереи. Вам нужно удалить одну из составных частей галереи прежде чем загружать новую или связаться с администратором с просьбой увеличить квоту.', 'Failed to be add index.html to the plugin gallery - please contact administrator!' => 'Ошибка при добавлении index.html к плагину галереи - пожалуйста свяжитесь с администратором!', 'No item uploaded!' => 'Ничего не загружено!', '<font color="red">Moderator data:<br />' . 'Items - %1$d<br />' . 'Item Quota - %2$d<br />' . 'Storage - %3$d<br />' . 'Storage Quota - %4$d<br />' . 'Access Mode - %5$s<br />' . 'Display Mode - %6$s<br /></font>' => '<font color="red">Информация модератора:<br />' . 'Составных частей - %1$d<br />' . 'Квота составных честей - %2$d<br />' . 'Дисковое пространство - %3$d<br />' . 'Квота дискового пространства - %4$d<br />' . 'Вид доступа - %5$s<br />' . 'Вид отображения в браузере - %6$s<br />' . 'Размер еденичной загрузки - %7$s<br /></font>', 'Image ' => 'Картинка ', ' of ' => ' из ', 'Image {x} of {y}' => 'Картинка {x} из {y}', 'No Viewable Items' => 'Составные части, которые нельзя увидеть', 'No items rendered' => 'Отображенных составных частей нет', 'Edit Gallery Item' => 'Редактировать составную часть галереи', 'Edit' => 'Изменить', 'Update' => 'Обновить', 'Bad File - Item rejected' => 'Файл с ошибкой - составная часть отвергнута', 'Not logged on' => 'Не зашел на сайт', 'No connected items' => 'Составные части соединения отсутствуют'));
// Privacy plugin: (new method: UTF8 encoding here):
CBTxt::addStrings(array('Visible on profile' => 'Видимый на профиле', 'Only to logged-in users' => 'Только вошедшим на сайт пользователям', 'Only for direct connections' => 'Только для прямых соединений', 'Only for %s' => 'Только для %s', 'Also for connections\' connections' => 'Также для соединений принадлежащим соединениям', 'Invisible on profile' => 'Невидимый на профиле', 'Access only to logged-in users. Please login.' => 'Доступ только для вошедших на сайт пользователей. Пожалуйста войдите.', 'Access only to logged-in users. Please login or %s.' => 'Доступ только для вошедших на сайт пользователей. Пожалуйста войдите или %s.', 'register' => 'зарегистрируйтесь', 'Access only with login' => 'Доступ только со входом на сайт', 'Access only to directly connected users' => 'Доступ только для пользователей, соединенных напрямую', 'Access only to directly connected users and friends of friends' => 'Доступ только для напрямую соединенных пользователей и друзей своих друзей'));
// Activity plugin: (new method: UTF8 encoding here):
CBTxt::addStrings(array('%s joined, welcome !' => '%s присоединился, добро пожаловать!', '%s updated his profile' => '%s обновил свой профиль', '%s updated their profile' => '%s обновили их профиль', '%s and %s' => '%s и %s', '%s, %s and %s' => '%s, %s и %s', '%s, %s, %s and %s more' => '%s, %s, %s и %s к этому', '%s and %s are now connected' => '%s и %s теперь соединены', '%s is now connected to %s' => '%s сейчас соединен с %s', '%s are now connected to %s' => '%s сейчас соединены с %s', '%s added a new picture' => '%s добавил новую картинку', '%s added new pictures' => '%s добавил новую картинки', '%s added %s new pictures' => '%s добавил %s новых картинок', '%s commented to %s\'s %s' => '%s отправил комментарий на %s -ую %s', '%s rated %s\'s %s' => '%s создал рэйтинг %s -ой %s', 'picture' => 'картинки', 'pictures' => 'картинок', 'profile' => 'профиля', '%s added a new gallery' => '%s добавил новую галерею', '%s signed the guestbook of %s' => '%s подписал гостевую книгу пользователя %s', '%s wrote on the wall of %s' => '%s написал на стене пользователя %s', '%s posted a new note to %s' => '%s отправил новую записку пользователю %s', '%s updated a %s in %s' => '%s обновил %s в %s', '%s updated a %s in %s\'s %s' => '%s обновил %s в %s -ой %s', '%s updated a %s in the %s' => '%s обновил %s в %s', '%s wrote a new %s' => '%s написал новую %s', '%s wrote a new %s "%s"' => '%s написал новую %s "%s"', '%s replied to %s' => '%s ответил %s', '%s replied to %s "%s"' => '%s ответил %s "%s"', '%s edited his %s' => '%s отредактировал его %s', 'forum post' => 'сообщение форума', 'comment' => 'комментарий', 'note' => 'записку', 'tag' => 'тегу', 'rating' => 'рэйтинг', '%s created the group "%s"' => '%s создал группу "%s"', '%s joined the group "%s"' => '%s присоединился к группе "%s"', '%s subscribed to %s' => '%s подписался на %s', '%s upgraded to %s' => '%s обновился на %s', '%s donated %s' => '%s подарил %s', '%s donated %s, thank you very much' => '%s подарено %s, большое спасибо', '%s donated' => '%s подарено', '%s donated, thank you very much' => '%s подарено, большое спасибо', '%s purchased something' => '%s купил нечто', '%s purchased something, thank you' => '%s купил нечто, большое спасибо', '%s purchased a %s' => '%s купил a %s', '%s purchased a %s, thank you' => '%s купил %s, спасибо'));
// Ratings fields plugin: (new method: UTF8 encoding here):
CBTxt::addStrings(array('Thank you for rating!' => 'Благодарим за рэйтинг!', 'Click on a star to rate!' => 'Щелкните по звездочке чтобы оставить рэйтинг!', 'Rate %s %s' => 'Оставить рэйтинг %s %s', 'Cancel Rating' => 'Отменить рэйтинг', 'Self' => 'На себя', 'Visitor' => 'Посетитель', 'Rating' => 'Рэйтинг', 'Star' => 'Звездочка', 'Stars' => 'Звездочки', 'Poorest' => 'Самый слабый', 'Poor' => 'Слабый', 'Average' => 'Средний', 'Good' => 'Хороший', 'Better' => 'Лучший', 'Best' => 'Самый лучший'));
// Forum integration plugin:
CBTxt::addStrings(array('Found %s Forum Posts' => 'Найдено %s сообщений форума', 'Forum Posts' => 'Сообщений форума', 'Last %s Forum Posts' => 'Последние %s сообщений форума', 'Moderator' => 'Модератор', 'Administrator' => 'Администратор', 'ONLINE' => 'НА ЛИНИИ СВЯЗИ', 'OFFLINE' => 'ВНЕ ЛИНИИ СВЯЗИ', 'Online Status: ' => 'Статус связи: ', 'View Profile: ' => 'Смотреть профиль: ', 'Send Private Message: ' => 'Отправить личное сообщение: ', 'Date' => 'Дата', 'Subject' => 'Тема', 'Category' => 'Категория', 'Hits' => 'Просмотры', 'Karma: ' => 'Карма: ', 'Posts: ' => 'Сообщения: ', 'Forum Statistics' => 'Статистика форума', 'Forum Ranking' => 'Ранг форума', 'Total Posts' => 'Всего сообщений', 'Karma' => 'Карма', 'No matching forum posts found.' => 'Соответствующих сообщений форума не найдено.', 'This user has no forum posts.' => 'У этого пользователя нет сообщений форума.', 'Your Subscriptions' => 'Ваши подписки', 'Action' => 'Действия', 'No subscriptions found for you.' => 'Подписок для Вас не найдено.', 'Your Favorites' => 'Ваши избранные', 'No favorites found for you.' => 'Ваших избранных не найдено.', 'Remove' => 'Удалить', 'Remove All' => 'Удалить все', 'Unsubscribe' => 'Аннулировать подписку', 'Unsubscribe All' => 'Аннулировать все подписки', 'Are you sure you want to unsubscribe from this forum subscription?' => 'Вы действительно хотите аннулировать Вашу подписку на этом форум?', 'Are you sure you want to unsubscribe from all your forum subscriptions?' => 'Вы действительно хотите аннулировать все Ваши подписки на этом форум?', 'Are you sure you want to remove this favorite thread?' => 'Вы действительно хотите удалить эту Вашу избранную тему?', 'Are you sure you want to remove all your favorite threads?' => 'Вы действительно хотите удалить все Ваши избранные темы?', 'The forum component is not installed.  Please contact your site administrator.' => 'Компонент форума не установлен. Пожалуйста свяжитесь с администратором Вашего сайта.', 'Male' => 'Мужчина', 'Female' => 'Женщина'));
// Facebook integration plugin:
CBTxt::addStrings(array('Facebook' => 'Facebook', 'Synced from Facebook; do not change here, but at Facebook as: %s' => 'Синхронизирован с Facebook; меняйте не здесь, но на Facebook как: %s', 'Profile Image' => 'Картинка профиля', 'First, Middle, and Last Name' => 'Имя, Отчество и Фамилия', 'First Name' => 'Имя', 'Last Name' => 'Фамилия', 'About Me' => 'Обо мне', 'Activities' => 'Виды деятельности', 'Birthday' => 'День рождения', 'Favorite Books' => 'Любимые книги', 'Country' => 'Страна', 'State' => 'Область', 'City' => 'Город', 'Zip' => 'Почтовый код', 'Interests' => 'Интересы', 'Looking For' => 'Ищу', 'Interested In' => 'Заинтересован в', 'Favorite Movies' => 'Любимые фильмы', 'Favorite Music' => 'Любимая музыка', 'Political View' => 'Политические взгляды', 'Favorite Quotes' => 'Любимая цитата', 'Relationship Status' => 'Статут отношений', 'Religious Views' => 'Религиозные взгляды', 'Sex' => 'Пол', 'Status' => 'Статус', 'Favorite TV Shows' => 'Любимые теле-шоу', 'View Facebook Profile' => 'Смотреть профиль на Facebook', 'Connect this account to your Facebook account' => 'Соединить эту учетную запись с Вашей учетной записью на Facebook', 'Link' => 'Ссылка', 'Login with your Facebook account' => 'Войти на сайт с Вашей учетной записью Facebook', 'Sign in' => 'Записаться', 'Are you sure you want to unlink this account from your Facebook account?' => 'Вы действительно хотите отделить эту Вашу учетную запись от Вашей учетной записи на Facebook?', 'Unlink this account from your Facebook account' => 'Отделить эту учетную запись от Вашей учетной записи на Facebook', 'Unlink' => 'Отделить', 'Please change your password from profile edit before unlinking to allow further login after unlinked.' => 'Для дальнейшего успешного входа на сайт после разделения учетных записей, прежде чем разделять учетные записи, пожалуйста измените Ваш пароль, пользуясь редактированием профиля.', 'Please change your email from profile edit before unlinking to allow further login after unlinked.' => 'Для дальнейшего успешного входа на сайт после разделения учетных записей, прежде чем разделять учетные записи, пожалуйста измените адрес Вашей эл.почты, используя редактирование профиля.', 'Would you like to do this now?' => 'Вы хотите сделать это сейчас?', 'Facebook account successfully unlinked!' => 'Учетная запись Facebook успешно отделена!', 'Facebook account successfully linked!' => 'Ссылка на учетную запись Facebook успешно создана!', 'Facebook credentials failed to load.' => 'Facebook credentials failed to load.', 'Error %s: %s' => 'Ошибка %s: %s'));
// Twitter integration plugin:
CBTxt::addStrings(array('Twitter' => 'Twitter', 'Synced from Twitter; do not change here, but at Twitter as: ' => 'Синхронизировано с Twitter; ничего не изменяйте здесь, но на Twitter как: ', 'Picture' => 'Картинка', 'Name' => 'Имя', 'View Twitter Profile' => 'Смотреть профиль на Twitter', 'Connect this account to your Twitter account' => 'Соединить эту Вашу учетную запись с Вашей учетной записью на Twitter', 'Link' => 'Ссылка', 'Login with your Twitter account' => 'Зайти на сайт с Вашей Twitter-вской учетной записью', 'Sign in' => 'Записаться', 'Are you sure you want to unlink this account from your Twitter account?' => 'Вы действительно хотите разделить эту Вашу учетную запись от Вашей учетной записи на Twitter?', 'Unlink this account from your Twitter account' => 'Разделить эту Вашу учетную запись от Вашей учетной записи на Twitter', 'Unlink' => 'Разделить', 'Please change your password from profile edit before unlinking to allow further login after unlinked.' => 'Для дальнейшего успешного входа на сайт после разделения учетных записей, прежде чем разделять учетные записи, пожалуйста измените Ваш пароль, пользуясь редактированием профиля.', 'Please change your email from profile edit before unlinking to allow further login after unlinked.' => 'Для дальнейшего успешного входа на сайт после разделения учетных записей, прежде чем разделять учетные записи, пожалуйста измените адрес Вашей эл.почты, используя редактирование профиля.', 'Would you like to do this now?' => 'Вы действительно хотите сделать это сейчас?', 'Twitter account successfully unlinked!' => 'Ваша учетная запись на Twitter была успешно отделена!', 'Twitter account successfully linked!' => 'Ваша учетная запись на Twitter была успешно присоединена!', 'Twitter credentials failed to load.' => 'Данные Вашей учетной записи от Twitter не загрузились!'));
// IMPORTANT WARNING: The closing tag, "?" and ">" has been intentionally omitted - CB works fine without it.
// This was done to avoid errors caused by custom strings being added after the closing tag. ]
// With such tags, always watchout to NOT add any line or space or anything after the "?" and the ">".
コード例 #16
0
* @subpackage Default CB-Team Plugins Language file (English)
* @author Beat, Nant and JoomlaJoe
* @copyright (C) www.joomlapolis.com
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
*/
// ensure this file is being included by a parent file:
if (!(defined('_VALID_CB') || defined('_JEXEC') || defined('_VALID_MOS'))) {
    die('Direct Access to this location is not allowed.');
}
// 1.2 Stable:
// ProfileBook plugin: (new method: UTF8 encoding here):
CBTxt::addStrings(array('Profile Book' => 'Profile Book', 'Name' => 'Name', 'Entry' => 'Entry', 'Profile Book Description' => 'Profile Book Description', 'Created On: %s' => 'Created On: %s', 'Edited By %s On: %s' => 'Edited By %s On: %s', '<br /><strong>[Notice: </strong><em>Last Edit by Site Moderator</em><strong>]</strong>' => '<br /><strong>[Notice: </strong><em>Last Edit by Site Moderator</em><strong>]</strong>', 'Users Feedback:' => 'Users Feedback:', 'Edited by Site Moderator' => 'Edited by Site Moderator', 'Comments' => 'Comments', 'Name' => 'Name', 'Email' => 'Email', 'Location' => 'Location', 'This user currently doesn\'t have any posts.' => 'This user currently doesn\'t have any posts.', 'User Rating' => 'User Rating', 'Web Address' => 'Web Address', 'Submit Entry' => 'Submit Entry', 'Update Entry' => 'Update Entry', 'Enable Profile Entries' => 'Enable Profile Entries', 'Auto Publish' => 'Auto Publish', 'Notify Me' => 'Notify Me', 'Enable visitors to your profile to make comments about you and your profile.' => 'Enable visitors to your profile to make comments about you and your profile.', 'Enable Auto Publish if you want entries submitted to be automatically approved and displayed on your profile.' => 'Enable Auto Publish if you want entries submitted to be automatically approved and displayed on your profile.', 'Enable Notify Me if you would like to receive an email notification each time someone submits an entry.  This is recommended if you are not using the Auto Publish feature.' => 'Enable Notify Me if you would like to receive an email notification each time someone submits an entry.  This is recommended if you are not using the Auto Publish feature.', 'Enable Profile Blog' => 'Enable Profile Blog', 'Enable Profile Wall' => 'Enable Profile Wall', 'Enable your blog on your profile.' => 'Enable your blog on your profile.', 'Enable the wall on your profile so yourself and visitors can write on it.' => 'Enable the wall on your profile so yourself and visitors can write on it.', 'Enable Notify Me if you\'d like to receive an email notification each time someone submits an entry. This is recommended if you are not using the Auto Publish feature.' => 'Enable Notify Me if you\'d like to receive an email notification each time someone submits an entry. This is recommended if you are not using the Auto Publish feature.', 'Bold' => 'Bold', 'Italic' => 'Italic', 'Underline' => 'Underline', 'Quote' => 'Quote', 'Code' => 'Code', 'List' => 'List', 'List' => 'List', 'Image' => 'Image', 'Link' => 'Link', 'Close' => 'Close', 'Color' => 'Color', 'Size' => 'Size', 'Item' => 'Item', 'Bold text: [b]text[/b]' => 'Bold text: [b]text[/b]', 'Italic text: [i]text[/i]' => 'Italic text: [i]text[/i]', 'Underline text: [u]text[/u]' => 'Underline text: [u]text[/u]', 'Quoted text: [quote]text[/quote]' => 'Quoted text: [quote]text[/quote]', 'Code display: [code]code[/code]' => 'Code display: [code]code[/code]', 'Unordered List: [ul] [li]text[/li] [/ul] - Hint: a list must contain List Items' => 'Unordered List: [ul] [li]text[/li] [/ul] - Hint: a list must contain List Items', 'Ordered List: [ol] [li]text[/li] [/ol] - Hint: a list must contain List Items' => 'Ordered List: [ol] [li]text[/li] [/ol] - Hint: a list must contain List Items', 'Image: [img size=(01-499)]http://www.google.com/images/web_logo_left.gif[/img]' => 'Image: [img size=(01-499)]http://www.google.com/images/web_logo_left.gif[/img]', 'Link: [url=http://www.zzz.com/]This is a link[/url]' => 'Link: [url=http://www.zzz.com/]This is a link[/url]', 'Close all open bbCode tags' => 'Close all open bbCode tags', 'Color: [color=#FF6600]text[/color]' => 'Color: [color=#FF6600]text[/color]', 'Size: [size=1]text size[/size] - Hint: sizes range from 1 to 5' => 'Size: [size=1]text size[/size] - Hint: sizes range from 1 to 5', 'List Item: [li] list item [/li] - Hint: a list item must be within a [ol] or [ul] List' => 'List Item: [li] list item [/li] - Hint: a list item must be within a [ol] or [ul] List', 'Dimensions' => 'Dimensions', 'File Types' => 'File Types', 'Submit' => 'Submit', 'Preview' => 'Preview', 'Cancel' => 'Cancel', 'User Comments' => 'User Comments', 'Your Feedback' => 'Your Feedback', 'Edit' => 'Edit', 'Update' => 'Update', 'Delete' => 'Delete', 'Publish' => 'Publish', 'Sign Profile Book' => 'Sign Profile Book', 'Give Feedback' => 'Give Feedback', 'Edit Feedback' => 'Edit Feedback', 'Un-Publish' => 'Un-Publish', 'Not Published' => 'Not Published', 'Color' => 'Color', 'Size' => 'Size', 'Very Small' => 'Very Small', 'Small' => 'Small', 'Normal' => 'Normal', 'Big' => 'Big', 'Very Big' => 'Very Big', 'Close All Tags' => 'Close All Tags', 'Standard' => 'Standard', 'Red' => 'Red', 'Purple' => 'Purple', 'Blue' => 'Blue', 'Green' => 'Green', 'Yellow' => 'Yellow', 'Orange' => 'Orange', 'Darkblue' => 'Darkblue', 'Gold' => 'Gold', 'Brown' => 'Brown', 'Silver' => 'Silver', 'You have received a new entry in your %s' => 'You have received a new entry in your %s', '%s has just submitted a new entry in your %s.' => '%s has just submitted a new entry in your %s.', 'An entry in your %s has just been updated' => 'An entry in your %s has just been updated', '%s has just submitted an edited entry for %s in your %s.' => '%s has just submitted an edited entry for %s in your %s.', "\n\nYour current setting is that you need to review entries in your %1\$s. Please login, review the new entry and publish if you agree. Direct access to your %1\$s:\n%2\$s\n" => "\n\nYour current setting is that you need to review entries in your %1\$s. Please login, review the new entry and publish if you agree. Direct access to your %1\$s:\n%2\$s\n", "\n\nYour current setting is that new entries in your %1\$s are automatically published. To see the new entry, please login. You can then see the new entry and take appropriate action if needed. Direct access to your %1\$s:\n%2\$s\n" => "\n\nYour current setting is that new entries in your %1\$s are automatically published. To see the new entry, please login. You can then see the new entry and take appropriate action if needed. Direct access to your %1\$s:\n%2\$s\n", 'Name is Required!' => 'Name is Required!', 'Email Address is Required!' => 'Email Address is Required!', 'Comment is Required!' => 'Comment is Required!', 'User Rating is Required!' => 'User Rating is Required!', 'You have not selected a User Rating. Do you really want to provide an Entry without User Rating ?' => 'You have not selected a User Rating. Do you really want to provide an Entry without User Rating ?', 'Return Gesture' => 'Return Gesture', 'Profile Rating' => 'Profile Rating', 'You have not selected your User Rating.' => 'You have not selected your User Rating.', 'Would you like to give a User Rating ?' => 'Would you like to give a User Rating ?', 'Do you really want to delete permanently this Comment and associated User Rating ?' => 'Do you really want to delete permanently this Comment and associated User Rating ?', 'You are about to edit somebody else\'s text as a site Moderator. This will be clearly noted. Proceed ?' => 'You are about to edit somebody else\'s text as a site Moderator. This will be clearly noted. Proceed ?', 'Hidden' => 'Hidden', 'Feedback from %s: ' => 'Feedback from %s: ', 'Poor' => 'Poor', 'Best' => 'Best', 'Vote %s star' => 'Vote %s star', 'Vote %s stars' => 'Vote %s stars', 'Cancel Rating' => 'Cancel Rating', 'Average Profile Rating by other users' => 'Average Profile Rating by other users', 'Title' => 'Title', 'Title is Required!' => 'Title is Required!', 'NEW' => 'NEW', 'Mark Read' => 'Mark Read', 'Mark Unread' => 'Mark Unread', 'You have %s new %s post' => 'You have %s new %s post', 'You have %s new %s posts' => 'You have %s new %s posts', 'Add new blog entry' => 'Add new blog entry', 'Wall entry' => 'Wall entry', 'Write on the wall' => 'Write on the wall', 'Entry' => 'Entry', 'Blog text' => 'Blog text', 'Save Blog Entry' => 'Save Blog Entry', 'Video' => 'Video', 'Video: [video type=youtube]id[/video] - Hint: id is only the embedding id of the video' => 'Video: [video type=youtube]id[/video] - Hint: id is only the embedding id of the video', '%s added a new guestbook entry to %s' => '%s added a new guestbook entry to %s', '%s wrote a new blog "%s"' => '%s wrote a new blog "%s"', '%s wrote a new blog' => '%s wrote a new blog', '%s added a new wall entry to %s' => '%s added a new wall entry to %s', '%s added a new wall entry' => '%s added a new wall entry', 'No entries have been made!' => 'No entries have been made!', 'Untranslated strings on this page' => 'Untranslated strings on this page', 'Translations on this page' => 'Translations on this page', 'English string' => 'English string', 'Translated string' => 'Translated string', 'No changes.' => 'No changes.', 'This field is required.' => 'This field is required.', 'Please fix this field.' => 'Please fix this field.', 'Please enter a valid email address.' => 'Please enter a valid email address.', 'Please enter a valid URL.' => 'Please enter a valid URL.', 'Please enter a valid date.' => 'Please enter a valid date.', 'Please enter a valid date (ISO).' => 'Please enter a valid date (ISO).', 'Please enter a valid number.' => 'Please enter a valid number.', 'Please enter only digits.' => 'Please enter only digits.', 'Please enter a valid credit card number.' => 'Please enter a valid credit card number.', 'Please enter the same value again.' => 'Please enter the same value again.', 'Please enter a value with a valid extension.' => 'Please enter a value with a valid extension.', 'Please enter no more than {0} characters.' => 'Please enter no more than {0} characters.', 'Please enter at least {0} characters.' => 'Please enter at least {0} characters.', 'Please enter a value between {0} and {1} characters long.' => 'Please enter a value between {0} and {1} characters long.', 'Please enter a value between {0} and {1}.' => 'Please enter a value between {0} and {1}.', 'Please enter a value less than or equal to {0}.' => 'Please enter a value less than or equal to {0}.', 'Please enter a value greater than or equal to {0}.' => 'Please enter a value greater than or equal to {0}.', 'Not a valid input' => 'Not a valid input'));
// Profile Gallery plugin: (new method: UTF8 encoding here):
CBTxt::addStrings(array('CB Profile Gallery' => 'CB Profile Gallery', 'This tab contains a basic no-frills image Gallery for CB profiles' => 'This tab contains a basic no-frills image Gallery for CB profiles', 'Current Items' => 'Current Items', 'Keeps track of number of stored items' => 'Keeps track of number of stored items', 'Date of last update to Gallery items in this profile' => 'Date of last update to Gallery items in this profile', 'Last Update' => 'Last Update', 'Enable Gallery' => 'Enable Gallery', 'Select Yes or No to turn-on or off the Gallery Tab' => 'Select Yes or No to turn-on or off the Gallery Tab', 'Short Greeting' => 'Short Greeting', 'Enter a short greeting for your gallery viewers' => 'Enter a short greeting for your gallery viewers', 'Item Quota' => 'Item Quota', 'The admin may use this to over-ride the default value of allowable items for each profile owner' => 'The admin may use this to over-ride the default value of allowable items for each profile owner', 'No Items published in this profile gallery' => 'No Items published in this profile gallery', 'Title:' => 'Title:', 'Description:' => 'Description:', 'Image File:' => 'Image File:', 'Submit New Gallery Entry' => 'Submit New Gallery Entry', 'Submit Gallery Entry' => 'Submit Gallery Entry', 'A file must be selected via the Browse button' => 'A file must be selected via the Browse button', 'A gallery item title must be entered' => 'A gallery item title must be entered', 'Autopublish items' => 'Autopublish items', 'Select Yes or No to autopublish or not newly uploaded gallery items' => 'Select Yes or No to autopublish or not newly uploaded gallery items', 'Current Storage' => 'Current Storage', 'This field keeps track of the total size of all uploaded gallery items - like a quota usage field. Value is in bytes.' => 'This field keeps track of the total size of all uploaded gallery items - like a quota usage field. Value is in bytes.', 'Greetings - connections only viewing enabled' => 'Greetings - connections only viewing enabled', 'Sorry - connections only viewing enabled for this gallery that currently has %1$d items in it.' => 'Sorry - connections only viewing enabled for this gallery that currently has %1$d items in it.', 'Automatically approve' => 'Automatically approve', 'This value can be set by the admin to over-ride the gallery plugin backend default approval parameter' => 'This value can be set by the admin to over-ride the gallery plugin backend default approval parameter', 'Storage Quota (KB)' => 'Storage Quota (KB)', 'This value can be set by the admin to over-ride the gallery plugin backend default user quota' => 'This value can be set by the admin to over-ride the gallery plugin backend default user quota', 'Maximum allowable single upload size exceeded - gallery item rejected' => 'Maximum allowable single upload size exceeded - gallery item rejected', 'File extension not authorized' => 'File extension not authorized', ' [Your current quota marks: %1$d/%2$d items %3$d/%4$d Kbytes (%5$d%% consumed - %6$d%% free)]' => ' [Your current quota marks: %1$d/%2$d items %3$d/%4$d Kbytes (%5$d%% consumed - %6$d%% free) - single upload size %7$d Kbytes]', 'This file would cause you to exceed you quota - gallery item rejected' => 'This file would cause you to exceed you quota - gallery item rejected', 'Access Mode' => 'Access Mode', 'Select desirable access mode: Public access, Registered users only, Connected users only, REG-S for Registered-stealth, CON-S for Connections-stealth' => 'Select desirable access mode: Public access, Registered users only, Connected users only, REG-S for Registered-stealth, CON-S for Connections-stealth', 'Allow Public Access' => 'Allow Public Access', 'Allow Registered Access' => 'Allow Registered Access', 'Allow Connections Access' => 'Allow Connections Access', 'Registered Stealth Access' => 'Registered Stealth Access', 'Connections Stealth Access' => 'Connections Stealth Access', 'Display Format' => 'Display Format', 'Select Display Format to apply for gallery viewing.' => 'Select Display Format to apply for gallery viewing.', 'Pictures gallery list format' => 'Pictures gallery list format', 'File list format' => 'File list format', 'Picture gallery list lightbox format' => 'Picture gallery list lightbox format', 'Gallery repository successfully created!' => 'Gallery repository successfully created!', 'Gallery repository could not be created! Please notify system admin!' => 'Gallery repository could not be created! Please notify system admin!', 'Image ToolBox failure! - Please notify system admin - ' => 'Image ToolBox failure! - Please notify system admin - ', 'The file upload has failed! - Please notify your system admin!' => 'The file upload has failed! - Please notify your system admin!', 'The file %1$s has been successfully uploaded!' => 'The file %1$s has been successfully uploaded!', 'The file %1$s has been successfully uploaded and tn%1$s thumbnail created!' => 'The file %1$s has been successfully uploaded and tn%1$s thumbnail created!', 'Only Registered Members Allowed to view the %1$d items in this Gallery!' => 'Only Registered Members Allowed to view the %1$d items in this Gallery!', 'Delete' => 'Delete', 'Publish' => 'Publish', 'Unpublish' => 'Unpublish', 'Approve' => 'Approve', 'Revoke' => 'Revoke', 'Default setting' => 'Default setting', 'Are you sure you want to delete selected item ? The selected item will be deleted and cannot be undone!' => 'Are you sure you want to delete selected item ? The selected item will be deleted and cannot be undone!', 'Max single upload (KB)' => 'Max single upload (KB)', 'This value can be set by the admin to over-ride the gallery plugin backend default maximum single upload size' => 'This value can be set by the admin to over-ride the gallery plugin backend default maximum single upload size', 'Updated' => 'Updated', 'Title' => 'Title', 'Description' => 'Description', 'Download' => 'Download', 'Actions' => 'Actions', 'Never' => 'Never', 'Gallery Moderation' => 'Gallery Moderation', 'This tab contains all pending autorization gallery items' => 'This tab contains all pending autorization gallery items', 'New Gallery Item just uploaded' => 'New Gallery Item just uploaded', "A new Gallery item has just been uploaded and may require approval.\n" . "This email contains the item details\n\n" . "Gallery Item Type - %1\$s\n" . "Gallery Item Title - %2\$s\n" . "Gallery Item Description - %3\$s\n\n" . "Username - %4\$s\n" . "Profile Link - %5\$s \n\n\n" . "Please do not respond to this message as it is automatically generated and is for information purposes only\n" => "A new Gallery item has just been uploaded and may require approval.\n" . "This email contains the item details\n\n" . "Gallery Item Type - %1\$s\n" . "Gallery Item Title - %2\$s\n" . "Gallery Item Description - %3\$s\n\n" . "Username - %4\$s\n" . "Profile Link - %5\$s \n\n\n" . "Please do not respond to this message as it is automatically generated and is for information purposes only\n", 'Your Gallery Item has been approved!' => 'Your Gallery Item has been approved!', "A Gallery item in your Gallery Tab has just been approved by a moderator.\n\n\n" . "Please do not respond to this message as it is automatically generated and is for information purposes only\n" => "A Gallery item in your Gallery Tab has just been approved by a moderator.\n\n\n" . "Please do not respond to this message as it is automatically generated and is for information purposes only\n", 'Your Gallery Item has been revoked!' => 'Your Gallery Item has been revoked!', "A Gallery item in your Gallery Tab has just been revoked by a moderator.\n\n\n" . "If you feel that this action is unjustified please contact one of our moderators.\n" . "Please do not respond to this message as it is automatically generated and is for information purposes only\n" => "A Gallery item in your Gallery Tab has just been revoked by a moderator.\n\n\n" . "If you feel that this action is unjustified please contact one of our moderators.\n" . "Please do not respond to this message as it is automatically generated and is for information purposes only\n", 'Your Gallery Item has been deleted!' => 'Your Gallery Item has been deleted!', "A Gallery item in your Gallery Tab has just been deleted by a moderator.\n\n\n" . "If you feel that this action is unjustified please contact one of our moderators.\n" . "Please do not respond to this message as it is automatically generated and is for information purposes only\n" => "A Gallery item in your Gallery Tab has just been deleted by a moderator.\n\n\n" . "If you feel that this action is unjustified please contact one of our moderators.\n" . "Please do not respond to this message as it is automatically generated and is for information purposes only\n", 'Your Gallery item is pending approval by a site moderator.' => 'Your Gallery item is pending approval by a site moderator.', 'Your Gallery item quota has been reached. You must delete an item in order to upload a new one or you may contact the admin to increase your quota.' => 'Your Gallery item quota has been reached. You must delete an item in order to upload a new one or you may contact the admin to increase your quota.', 'Failed to be add index.html to the plugin gallery - please contact administrator!' => 'Failed to be add index.html to the plugin gallery - please contact administrator!', 'No item uploaded!' => 'No item uploaded!', '<font color="red">Moderator data:<br />' . 'Items - %1$d<br />' . 'Item Quota - %2$d<br />' . 'Storage - %3$d<br />' . 'Storage Quota - %4$d<br />' . 'Access Mode - %5$s<br />' . 'Display Mode - %6$s<br /></font>' => '<font color="red">Moderator data:<br />' . 'Items - %1$d<br />' . 'Item Quota - %2$d<br />' . 'Storage - %3$d<br />' . 'Storage Quota - %4$d<br />' . 'Access Mode - %5$s<br />' . 'Display Mode - %6$s<br />' . 'Single Upload Size - %7$s<br /></font>', 'Image ' => 'Image ', ' of ' => ' of ', 'Image {x} of {y}' => 'Image {x} of {y}', 'No Viewable Items' => 'No Viewable Items', 'No items rendered' => 'No items rendered', 'Edit Gallery Item' => 'Edit Gallery Item', 'Edit' => 'Edit', 'Update' => 'Update', 'Bad File - Item rejected' => 'Bad File - Item rejected', 'Not logged on' => 'Not logged on', 'No connected items' => 'No connected items'));
// Privacy plugin: (new method: UTF8 encoding here):
CBTxt::addStrings(array('Visible on profile' => 'Visible on profile', 'Only to logged-in users' => 'Only to logged-in users', 'Only for direct connections' => 'Only for direct connections', 'Only for %s' => 'Only for %s', 'Also for connections\' connections' => 'Also for connections\' connections', 'Invisible on profile' => 'Invisible on profile', 'Access only to logged-in users. Please login.' => 'Access only to logged-in users. Please login.', 'Access only to logged-in users. Please login or %s.' => 'Access only to logged-in users. Please login or %s.', 'register' => 'register', 'Access only with login' => 'Access only with login', 'Access only to directly connected users' => 'Access only to directly connected users', 'Access only to directly connected users and friends of friends' => 'Access only to directly connected users and friends of friends'));
// Activity plugin: (new method: UTF8 encoding here):
CBTxt::addStrings(array('%s joined, welcome !' => '%s joined, welcome !', '%s updated his profile' => '%s updated his profile', '%s updated their profile' => '%s updated their profile', '%s and %s' => '%s and %s', '%s, %s and %s' => '%s, %s and %s', '%s, %s, %s and %s more' => '%s, %s, %s and %s more', '%s and %s are now connected' => '%s and %s are now connected', '%s is now connected to %s' => '%s is now connected to %s', '%s are now connected to %s' => '%s are now connected to %s', '%s added a new picture' => '%s added a new picture', '%s added new pictures' => '%s added new pictures', '%s added %s new pictures' => '%s added %s new pictures', '%s commented to %s\'s %s' => '%s commented to %s\'s %s', '%s rated %s\'s %s' => '%s rated %s\'s %s', 'picture' => 'picture', 'pictures' => 'pictures', 'profile' => 'profile', '%s added a new gallery' => '%s added a new gallery', '%s signed the guestbook of %s' => '%s signed the guestbook of %s', '%s wrote on the wall of %s' => '%s wrote on the wall of %s', '%s posted a new note to %s' => '%s posted a new note to %s', '%s updated a %s in %s' => '%s updated a %s in %s', '%s updated a %s in %s\'s %s' => '%s updated a %s in %s\'s %s', '%s updated a %s in the %s' => '%s updated a %s in the %s', '%s wrote a new %s' => '%s wrote a new %s', '%s wrote a new %s "%s"' => '%s wrote a new %s "%s"', '%s replied to %s' => '%s replied to %s', '%s replied to %s "%s"' => '%s replied to %s "%s"', '%s edited his %s' => '%s edited his %s', 'forum post' => 'forum post', 'comment' => 'comment', 'note' => 'note', 'tag' => 'tag', 'rating' => 'rating', '%s created the group "%s"' => '%s created the group "%s"', '%s joined the group "%s"' => '%s joined the group "%s"', '%s subscribed to %s' => '%s subscribed to %s', '%s upgraded to %s' => '%s upgraded to %s', '%s donated %s' => '%s donated %s', '%s donated %s, thank you very much' => '%s donated %s, thank you very much', '%s donated' => '%s donated', '%s donated, thank you very much' => '%s donated, thank you very much', '%s purchased something' => '%s purchased something', '%s purchased something, thank you' => '%s purchased something, thank you', '%s purchased a %s' => '%s purchased a %s', '%s purchased a %s, thank you' => '%s purchased a %s, thank you'));
// Ratings fields plugin: (new method: UTF8 encoding here):
CBTxt::addStrings(array('Thank you for rating!' => 'Thank you for rating!', 'Click on a star to rate!' => 'Click on a star to rate!', 'Rate %s %s' => 'Rate %s %s', 'Cancel Rating' => 'Cancel Rating', 'Self' => 'Self', 'Visitor' => 'Visitor', 'Rating' => 'Rating', 'Star' => 'Star', 'Stars' => 'Stars', 'Poorest' => 'Poorest', 'Poor' => 'Poor', 'Average' => 'Average', 'Good' => 'Good', 'Better' => 'Better', 'Best' => 'Best'));
// Forum integration plugin:
CBTxt::addStrings(array('Found %s Forum Posts' => 'Found %s Forum Posts', 'Forum Posts' => 'Forum Posts', 'Last %s Forum Posts' => 'Last %s Forum Posts', 'Moderator' => 'Moderator', 'Administrator' => 'Administrator', 'ONLINE' => 'ONLINE', 'OFFLINE' => 'OFFLINE', 'Online Status: ' => 'Online Status: ', 'View Profile: ' => 'View Profile: ', 'Send Private Message: ' => 'Send Private Message: ', 'Date' => 'Date', 'Subject' => 'Subject', 'Category' => 'Category', 'Hits' => 'Hits', 'Karma: ' => 'Karma: ', 'Posts: ' => 'Posts: ', 'Forum Statistics' => 'Forum Statistics', 'Forum Ranking' => 'Forum Ranking', 'Total Posts' => 'Total Posts', 'Karma' => 'Karma', 'No matching forum posts found.' => 'No matching forum posts found.', 'This user has no forum posts.' => 'This user has no forum posts.', 'Your Subscriptions' => 'Your Subscriptions', 'Action' => 'Action', 'No subscriptions found for you.' => 'No subscriptions found for you.', 'Your Favorites' => 'Your Favorites', 'No favorites found for you.' => 'No favorites found for you.', 'Remove' => 'Remove', 'Remove All' => 'Remove All', 'Unsubscribe' => 'Unsubscribe', 'Unsubscribe All' => 'Unsubscribe All', 'Are you sure you want to unsubscribe from this forum subscription?' => 'Are you sure you want to unsubscribe from this forum subscription?', 'Are you sure you want to unsubscribe from all your forum subscriptions?' => 'Are you sure you want to unsubscribe from all your forum subscriptions?', 'Are you sure you want to remove this favorite thread?' => 'Are you sure you want to remove this favorite thread?', 'Are you sure you want to remove all your favorite threads?' => 'Are you sure you want to remove all your favorite threads?', 'The forum component is not installed.  Please contact your site administrator.' => 'The forum component is not installed.  Please contact your site administrator.', 'Male' => 'Male', 'Female' => 'Female'));
// Facebook integration plugin: (updated for version 1.2 of Facebook plugin)
CBTxt::addStrings(array('View Facebook Profile' => 'View Facebook Profile', 'Logout of your Facebook account.' => 'Logout of your Facebook account.', 'Sign out' => 'Sign out', 'Login with your Facebook account.' => 'Login with your Facebook account.', 'Sign in' => 'Sign in', 'Unjoin this site' => 'Unjoin this site', 'Unauthorize this site from your Facebook account.' => 'Unauthorize this site from your Facebook account.', 'Are you sure you want to unjoin %s?' => 'Are you sure you want to unjoin %s?'));
// Twitter integration plugin: (updated for version 1.1 of Twitter plugin)
CBTxt::addStrings(array('View Twitter Profile' => 'View Twitter Profile', 'Logout of your Twitter account.' => 'Logout of your Twitter account.', 'Login with your Twitter account.' => 'Login with your Twitter account.'));
// imagetoolbox messages needed for CB Team plugins
CBTxt::addStrings(array('The file exceeds the maximum size of %s kilobytes' => 'The file exceeds the maximum size of %s kilobytes'));
// IMPORTANT WARNING: The closing tag, "?" and ">" has been intentionally omitted - CB works fine without it.
// This was done to avoid errors caused by custom strings being added after the closing tag. ]
// With such tags, always watchout to NOT add any line or space or anything after the "?" and the ">".
コード例 #17
0
ファイル: cb.params.php プロジェクト: rkern21/videoeditor
	/**
	* @param string The name of the form element
	* @param string The value of the element
	* @param CBSimpleXMLElement  $node The xml element for the parameter
	* @param string The control name
	* @return string The html for the element
	*/
	function _form_spacer( $name, $value, &$node, $control_name ) {
		if ( $value ) {
			return '<strong id="' . $this->control_id( $control_name, $name ) . '">' . CBTxt::Th( $value ) . '</strong>';
		} else {
			return '<hr id="' . $this->control_id( $control_name, $name ) . '" />';
		}
	}
コード例 #18
0
	/**
	 * Function for the backend XML
	 *
	 * @param  string  $name          Name of the control
	 * @param  string  $value         Current value
	 * @param  string  $control_name  Name of the controlling array (if any)
	 * @return string                 HTML for the control data part or FALSE in case of error
	 */
	function loadExistingForums( $name, $value, $control_name ) {
		global $_CB_framework;
		
		$img_path											=	$_CB_framework->getCfg( 'live_site' ) . '/components/com_comprofiler/images/';
		$installed											=	'<img src="' . $img_path . 'approve.png" alt="Installed" title="Installed" border="0" />';
		$uninstalled										=	'<img src="' . $img_path . 'reject.png" alt="Uninstalled" title="Uninstalled" border="0" />';
		$path												=	$_CB_framework->getCfg( 'absolute_path' );
		$forums												=	null;

		if ( file_exists( $path . '/administrator/components/com_joomlaboard/' ) ) {
			$forums											.=	'<div>' . $installed . ' ' . CBTxt::T( 'Joomlaboard' ) . '</div>';
		} else {
			$forums											.=	'<div>' . $uninstalled . ' ' . CBTxt::T( 'Joomlaboard' ) . '</div>';
		}
		
		if ( file_exists( $path . '/administrator/components/com_simpleboard/' ) ) {
			$forums											.=	'<div>' . $installed . ' ' . CBTxt::T( 'Simpleboard' ) . '</div>';
		} else {
			$forums											.=	'<div>' . $uninstalled . ' ' . CBTxt::T( 'Simpleboard' ) . '</div>';
		}
		
		if ( file_exists( $path . '/administrator/components/com_fireboard/' ) ) {
			$forums											.=	'<div>' . $installed . ' ' . CBTxt::T( 'Fireboard' ) . '</div>';
		} else {
			$forums											.=	'<div>' . $uninstalled . ' ' . CBTxt::T( 'Fireboard' ) . '</div>';
		}
		
		if ( file_exists( $path . '/administrator/components/com_kunena/' ) ) {
			$forums											.=	'<div>' . $installed . ' ' . CBTxt::T( 'Kunena (It is advised to select Kunena manually as Kunena has additional options)' ) . '</div>';
		} else {
			$forums											.=	'<div>' . $uninstalled . ' ' . CBTxt::T( 'Kunena' ) . '</div>';		}
		
		return $forums;
	}
コード例 #19
0
    static function renderGenericJs()
    {
        cbimport('language.cbteamplugins');
        ?>
$.extend(jQuery.validator.messages, {
		required: "<?php 
        echo addslashes(CBTxt::T("This field is required."));
        ?>
",
		remote: "<?php 
        echo addslashes(CBTxt::T("Please fix this field."));
        ?>
",
		email: "<?php 
        echo addslashes(CBTxt::T("Please enter a valid email address."));
        ?>
",
		url: "<?php 
        echo addslashes(CBTxt::T("Please enter a valid URL."));
        ?>
",
		date: "<?php 
        echo addslashes(CBTxt::T("Please enter a valid date."));
        ?>
",
		dateISO: "<?php 
        echo addslashes(CBTxt::T("Please enter a valid date (ISO)."));
        ?>
",
		number: "<?php 
        echo addslashes(CBTxt::T("Please enter a valid number."));
        ?>
",
		digits: "<?php 
        echo addslashes(CBTxt::T("Please enter only digits."));
        ?>
",
		creditcard: "<?php 
        echo addslashes(CBTxt::T("Please enter a valid credit card number."));
        ?>
",
		equalTo: "<?php 
        echo addslashes(CBTxt::T("Please enter the same value again."));
        ?>
",
		accept: "<?php 
        echo addslashes(CBTxt::T("Please enter a value with a valid extension."));
        ?>
",
		maxlength: $.validator.format("<?php 
        echo addslashes(CBTxt::T("Please enter no more than {0} characters."));
        ?>
"),
		minlength: $.validator.format("<?php 
        echo addslashes(CBTxt::T("Please enter at least {0} characters."));
        ?>
"),
		rangelength: $.validator.format("<?php 
        echo addslashes(CBTxt::T("Please enter a value between {0} and {1} characters long."));
        ?>
"),
		range: $.validator.format("<?php 
        echo addslashes(CBTxt::T("Please enter a value between {0} and {1}."));
        ?>
"),
		max: $.validator.format("<?php 
        echo addslashes(CBTxt::T("Please enter a value less than or equal to {0}."));
        ?>
"),
		min: $.validator.format("<?php 
        echo addslashes(CBTxt::T("Please enter a value greater than or equal to {0}."));
        ?>
")
});

{
	var firstInvalidFieldFound	=	0;
	$('#cbcheckedadminForm').submit( function() {
		var v = $(this).validate();
		v.cbIsFormSubmitting = true;
		var r = $(this).validate().form();
		v.cbIsFormSubmitting = false;
		if ( ! r ) {
			$(this).validate().focusInvalid();
		}
		return r;
	} );
	$('#cbcheckedadminForm').validate( {
		onsubmit : false,
		ignoreTitle : true,
		errorClass: 'cb_result_warning',
		// debug: true,
		cbIsOnKeyUp: false,
		cbIsFormSubmitting: false,
		highlight: function( element, errorClass ) {
			$( element ).parents('.fieldCell').parent().addClass( 'cbValidationError' );		// tables
			$( element ).parents('.cb_field,.cb_form_line').addClass( 'cbValidationError' );	// divs
			$( element ).addClass( 'cbValidationError' + $(element).attr('type') );
			$( element ).parents('.tab-page').addClass('cbValidationErrorTab')
			.each( function() {
				$(this).siblings('.tab-row')
				.find('h2:nth-child(' + $(this).index() + ')')
				.addClass('cbValidationErrorTabTip');
			})
			.filter(':not(:visible)').each( function() {
				if ( ! firstInvalidFieldFound++ ) {
					showCBTab( $(this).attr('id').substr(5) );
				}
			});;
		},
		unhighlight: function( element, errorClass ) {
			if ( this.errorList.length == 0 ) {
				firstInvalidFieldFound = 0;
			}
			$( element ).parents('.fieldCell').parent().removeClass( 'cbValidationError' );		// tables
			$( element ).parents('.cb_field,.cb_form_line').removeClass( 'cbValidationError' );	// divs
			$( element ).removeClass( 'cbValidationError' + $(element).attr('type') );
			$( element ).parents('.tab-page')
			.each( function() {
				if ( $(this).find('.cbValidationError').size() == 0 ) {
					$(this).removeClass('cbValidationErrorTab')
					.siblings('.tab-row')
					.find('h2:nth-child(' + $(this).index() + ')')
					.removeClass('cbValidationErrorTabTip');
				}
			});
		},
		errorElement: 'div',
		errorPlacement: function(error, element) {
			element.closest('.fieldCell, .cb_field').append( error[0] );		// .fieldCell : tables, .cb_field : div
		},
		onkeyup: function(element) {
			if ( element.name in this.submitted || element == this.lastElement ) {
				// avoid remotejhtml rule onkeyup
				this.cbIsOnKeyUp = true;
				this.element(element);
				this.cbIsOnKeyUp = false;
			}
<?php 
        /*
        		},
        		showErrors: function(errorMap, errorList) {
        			var messages;
        			for ( var i = 0; errorList[i]; i++ ) {
        				messages += errorList[i].message + "\n";
        			}
        			this.defaultShowErrors();
        			alert( messages );
        		},
                rules: { 
                    username: { 
                        required: true, 
                        minlength: 3 //, 
                        // remote: "users.php" 
                    },
                    password: { 
                        required: true, 
                        minlength: 6 
                    }, 
                    password_confirm: { 
                        required: true, 
                        minlength: 6, 
                        equalTo: "#password" 
                    }, 
                    email: { 
                        required: true, 
                        email: true //, 
             			//remote: "emails.php" 
                    }
                },
        */
        /*
                messages: { 
                	username: { 
                        required: "Please enter a username", 
                        minlength: jQuery.format("Enter at least {0} characters"), 
                        remote: jQuery.format("{0} is already in use") 
                    },
                    password: { 
                        required: "Please provide a password", 
                        rangelength: jQuery.format("Enter at least {0} characters") 
                    }, 
                    password_confirm: { 
                        required: "Please repeat your password", 
                        minlength: jQuery.format("Enter at least {0} characters"), 
                        equalTo: "Enter the same password as above" 
                    },
                    email: { 
                        required: "Please enter a valid email address", 
                        minlength: "Please enter a valid email address" //,
                        // remote: jQuery.format("{0} is already in use") 
                    }
        */
        ?>
        }
	} );
	$('#cbcheckedadminForm input:checkbox,#cbcheckedadminForm input:radio').click( function() {
		$('#cbcheckedadminForm').validate().element( $(this) );
	} );
	$( '#cbcheckedadminForm .cbDateinputJs select' ).change( function() {
		var datefield	=	$(this).parent().prev('input');
		if ( datefield.length ) {
			$('#cbcheckedadminForm').validate().element( datefield );
		}
	} );
}
<?php 
        echo implode("\n", self::$methods) . "\n";
        echo self::$rules;
    }
コード例 #20
0
ファイル: panel_main.php プロジェクト: kosmosby/medicine-prof
	/**
	 * render frontend panel main
	 *
	 * @param string $function
	 * @param moscomprofilerUser $user
	 * @param object $plugin
	 * @return string
	 */
	static function showPanelMain( $function, $user, $plugin ) {
		global $_CB_framework;

		$authorized				=	cbgjClass::getAuthorization( null, null, $user );
		$newCategory			=	( $plugin->params->get( 'panel_new_category', 1 ) && cbgjClass::hasAccess( 'cat_create', $authorized ) );
		$newGroup				=	( $plugin->params->get( 'panel_new_group', 1 ) && cbgjClass::hasAccess( 'grp_create', $authorized ) );

		$return					=	null;

		if ( $newCategory || $newGroup ) {
			$return				.=	'<div class="gjTop gjTopCenter">'
								.		'<div class="btn-group">'
								.			( $newCategory ? '<input type="button" value="' . htmlspecialchars( CBTxt::P( 'New [category]', array( '[category]' => cbgjClass::getOverride( 'category' ) ) ) ) . '" class="gjButton btn" onclick="' . cbgjClass::getPluginURL( array( 'categories', 'new' ), true, true, false, null, true ) . '" />' : null )
								.			( $newGroup ? '<input type="button" value="' . htmlspecialchars( CBTxt::P( 'New [group]', array( '[group]' => cbgjClass::getOverride( 'group' ) ) ) ) . '" class="gjButton btn" onclick="' . cbgjClass::getPluginURL( array( 'groups', 'new' ), true, true, false, null, true ) . '" />' : null )
								.		'</div>'
								.	'</div>';
		}

		switch ( $function ) {
			case 'categories':
			default:
				if ( $plugin->params->get( 'panel_category_display', 1 ) ) {
					$title		=	htmlspecialchars( CBTxt::P( 'My [categories]', array( '[categories]' => cbgjClass::getOverride( 'category', true ) ) ) );

					$_CB_framework->setPageTitle( $title );
					$_CB_framework->appendPathWay( $title, cbgjClass::getPluginURL( array( 'panel', 'categories' ) ) );

					$return		.=	cbgjTab::getCategories( $user, $user, $plugin, false );
					break;
				}
			case 'groups':
				if ( $plugin->params->get( 'panel_group_display', 1 ) ) {
					$title		=	htmlspecialchars( CBTxt::P( 'My [groups]', array( '[groups]' => cbgjClass::getOverride( 'group', true ) ) ) );

					$_CB_framework->setPageTitle( $title );
					$_CB_framework->appendPathWay( $title, cbgjClass::getPluginURL( array( 'panel', 'groups' ) ) );

					$return		.=	cbgjTab::getGroups( $user, $user, $plugin, false );
					break;
				}
			case 'joined':
				if ( $plugin->params->get( 'panel_joined_display', 1 ) ) {
					$title		=	htmlspecialchars( CBTxt::P( 'Joined [groups]', array( '[groups]' => cbgjClass::getOverride( 'group', true ) ) ) );

					$_CB_framework->setPageTitle( $title );
					$_CB_framework->appendPathWay( $title, cbgjClass::getPluginURL( array( 'panel', 'joined' ) ) );

					$return		.=	cbgjTab::getJoined( $user, $user, $plugin, false );
					break;
				}
			case 'invites':
				if ( $plugin->params->get( 'panel_invites_display', 1 ) ) {
					$title		=	htmlspecialchars( CBTxt::T( 'My Invites' ) );

					$_CB_framework->setPageTitle( $title );
					$_CB_framework->appendPathWay( $title, cbgjClass::getPluginURL( array( 'panel', 'invites' ) ) );

					$return		.=	cbgjTab::getInvites( $user, $user, $plugin, false );
					break;
				}
			case 'invited':
				if ( $plugin->params->get( 'panel_invited_display', 1 ) ) {
					$title		=	htmlspecialchars( CBTxt::T( 'Invited To' ) );

					$_CB_framework->setPageTitle( $title );
					$_CB_framework->appendPathWay( $title, cbgjClass::getPluginURL( array( 'panel', 'invited' ) ) );

					$return		.=	cbgjTab::getInvited( $user, $user, $plugin, false );
					break;
				}
		}

		return $return;
	}
コード例 #21
0
ファイル: default.php プロジェクト: bobozhangshao/HeartCare
    echo $newMessageCount == 1 ? CBTxt::T('COUNT_PRIVATE_MESSAGE', '[count] Private Message', array('[count]' => $newMessageCount)) : CBTxt::T('COUNT_PRIVATE_MESSAGES', '[count] Private Messages', array('[count]' => $newMessageCount));
    ?>
</a>
		</li>
	<?php 
}
?>
	<?php 
if ($showConnectionRequests) {
    ?>
		<li class="cbModeratorLink cbModeratorLinkConnectionRequests">
			<a href="<?php 
    echo $_CB_framework->viewUrl('manageconnections');
    ?>
"><?php 
    echo $newConnectionRequests == 1 ? CBTxt::T('COUNT_CONNECTION_REQUEST', '[count] Connection Request', array('[count]' => $newConnectionRequests)) : CBTxt::T('COUNT_CONNECTION_REQUESTS', '[count] Connection Requests', array('[count]' => $newConnectionRequests));
    ?>
</a>
		</li>
	<?php 
}
?>
	<?php 
echo modCBModeratorHelper::getPlugins($params, 'afterLinks');
?>
</ul>
<?php 
echo modCBModeratorHelper::getPlugins($params, 'almostEnd');
if ($postText) {
    ?>
	<div class="posttext">
コード例 #22
0
	/**
	 * Generates HTML for favorites in forum tab
	 *
	 * @param object  $template
	 * @param object  $forum
	 * @param object  $model
	 * @return mixed
	 */
	function ShowFavorites( $template, $forum, $model ) {
		$html					=	null;
		$oneOrTwo				=	1;
	
		if ( $template->favorites ) {
			$html				.=	'<br /><table width="100%" cellspacing="0" cellpadding="3" border="0">'
								.	'<thead>'
								.		'<tr class="sectiontableheader">'
								.			'<th colspan="4">' . CBTxt::T( 'Your Favorites' ) . '</th>'
								.		'</tr>'
								.		'<tr class="sectiontableheader">'
								.			'<th width="20%">' . $template->titles->date . '</th>'
								.			'<th width="45%">' . $template->titles->subject . '</th>'
								.			'<th width="25%">' . $template->titles->category . '</th>'
								.			'<th width="10%">' . CBTxt::T( 'Action' ) . '</th>'
								.		'</tr>'
								.	'</thead>'
								.	'<tbody>';
			
			foreach ( $template->favorites as $item ) {
				$unsubURL		=	cbSef( $template->unFavThreadURL . $item->thread );
				$postURL		=	cbSef( 'index.php?option=' . $forum->component . $forum->itemid . '&amp;func=view&amp;catid='. $item->catid . '&amp;id=' . $item->id );
				$catURL			=	cbSef( 'index.php?option=' . $forum->component . $forum->itemid . '&amp;func=' . ( $forum->component == 'com_kunena' ? 'showcat' : 'view' ) . '&amp;catid='. $item->catid );
					
				$html			.=	'<tr class="sectiontableentry' . $oneOrTwo . '">'
								.		'<td>' . getFieldValue( 'date', date( 'Y-m-d, H:i:s', $item->time ) ) . '</td>'
								.		'<td><a href="' . $postURL . '">' . htmlspecialchars( stripslashes( $item->subject ) ) . '</a></td>'
								.		'<td><a href="' . $catURL . '">' . htmlspecialchars( stripslashes( $item->catname ) ) . '</a></td>'
								.		'<td><a href="javascript:void(0);" onclick="javascript:if ( confirm(\'' . CBTxt::T( "Are you sure you want to remove this favorite thread?" ) . '\') ) { location.href=\'' . $unsubURL . '\'; }">' . CBTxt::T( 'Remove' ) . '</a></td>'
								.	'</tr>';
				$oneOrTwo		=	( $oneOrTwo == 1 ? 2 : 1 );
			}
	
			$html				.=	'</tbody>'
								.	'</table>';
								
			if ( $template->showPaging ) {
				$html			.=	'<br /><div style="width:95%;text-align:center;">' . $template->paging . '</div>';
			}
								
			$html				.=	'<br /><div style="width:95%;text-align:center;"><input type="button" class="button" onclick="javascript:if ( confirm(\'' . CBTxt::T( "Are you sure you want to remove all your favorite threads?" ) . '\') ) { location.href=\'' . $template->unFavAllURL . '\'; }" value="' . CBTxt::T( 'Remove All' ) . '" /></div>';		
		} else {
			$html				.=	'<br /><div>' . CBTxt::T( 'No favorites found for you.' ) . '</div>';
		}
		
		return $html;
	}
コード例 #23
0
ファイル: view.field.php プロジェクト: rkern21/videoeditor
	function editfield( &$row, $lists, $fieldvalues, $option, $paramsEditorHtml ) {
		global $_CB_framework, $_CB_database;

		_CBsecureAboveForm('editfield');
		outputCbTemplate( 2 );
		outputCbJs( 2 );
		initToolTip( 2 );

		global $_CB_Backend_Title;
		$_CB_Backend_Title	=	array( 0 => array( 'cbicon-48-fields', CBTxt::T('Community Builder Field') . ': <small>' . ( $row->fieldid ? CBTxt::T('Edit') . ' [ ' . htmlspecialchars( getLangDefinition( $row->title ) ) . ' ] ' : CBTxt::T('New') ) . '</small>' ) );

		if ( $row->fieldid && ( ! $row->published ) ) {
			echo '<div class="cbWarning">' . CBTxt::T('Field is not published') . '</div>' . "\n";
		}
		if ( $row->pluginid ) {
			$plugin		=	new moscomprofilerPlugin( $_CB_database );
			if ( ! $plugin->load( (int) $row->pluginid ) ) {
				echo '<div class="cbWarning">' . CBTxt::T('Plugin is not installed') . '</div>' . "\n";
			} else {
				if ( ! $plugin->published ) {
					echo '<div class="cbWarning">' . CBTxt::T('Plugin is not published') . '</div>' . "\n";
				}
			}
		}

//		$_CB_framework->outputCbJQuery( "var cbTypeState = $('#type').val();	$('#type').change(function() { if ( cbTypeState != $('#type').val() ) submitbutton('reloadField') } ).change();" );
//		outputCbJs( 2 );
	if($row->fieldid > 0) {
		$_CB_framework->outputCbJQuery( 'document.adminForm.name.readOnly=true; document.adminForm.name.disabled=true; document.adminForm.type.disabled=true;');
	}
//		disableAll();
//		selType('".$row->type."');

	$editorSave_description		=	$_CB_framework->saveCmsEditorJS( 'description' );
	$editorSave_default			=	$_CB_framework->saveCmsEditorJS( 'default' );
		ob_start();
?>
   function submitbutton(pressbutton) {
     if ( (pressbutton == 'showField') || (pressbutton == 'reloadField') ) {
       document.adminForm.type.disabled=false;
       <?php echo $editorSave_description;
			if ( $row->type == 'editorta' ) {
				echo $editorSave_default;
			}
       ?>
       submitform(pressbutton);
       return;
     }
     var coll = document.adminForm;
     var errorMSG = '';
     var iserror=0;
     if (coll != null) {
       var elements = coll.elements;
       // loop through all input elements in form
       for (var i=0; i < elements.length; i++) {
         // check if element is mandatory; here mosReq=1
         if ( (typeof(elements.item(i).getAttribute('mosReq')) != "undefined") && (elements.item(i).getAttribute('mosReq') == 1) ) {
           if (elements.item(i).value == '') {
             //alert(elements.item(i).getAttribute('mosLabel') + ':' + elements.item(i).getAttribute('mosReq'));
             // add up all error messages
             errorMSG += elements.item(i).getAttribute('mosLabel') + ' : <?php echo _UE_REQUIRED_ERROR; ?>\n';
             // notify user by changing background color, in this case to red
             elements.item(i).style.backgroundColor = "red";
             iserror=1;
           }
         }
       }
     }
     if(iserror==1) {
       alert(errorMSG);
     } else {
       document.adminForm.type.disabled=false;
       <?php echo $editorSave_description;
			if ( $row->type == 'editorta' ) {
				echo $editorSave_default;
			}
       ?>
       submitform(pressbutton);
     }
   }
<?php
		$jsTop		=	ob_get_contents();
		ob_end_clean();
		$_CB_framework->document->addHeadScriptDeclaration( $jsTop );
		ob_start();
?>
	function insertRow() {
		// Create and insert rows and cells into the first body.
//		var i = $('#adminForm input[name=valueCount]').val( Number( $('#adminForm input[name=valueCount]').val() ) + 1 ).val();
//		$('#fieldValuesBody').append('<tr><td><input id=\"vNames'+i+'\" name=\"vNames[' + i + ']\" /></td></tr>');
		var i = $('#adminForm input[name=valueCount]').val( Number( $('#adminForm input[name=valueCount]').val() ) + 1 ).val();
		$('#fieldValuesList').append('<li><input id=\"vNames'+i+'\" name=\"vNames[]\" /></li>');
		$('#vNames'+i).hide().slideDown('medium').focus();
	}

	function disableAll() {
		$('#divValues,#divColsRows,#divWeb,#divText').hide().css('visibility','visible');
		$('#vNames0').attr('mosReq','0');
	}

	function selType(sType) {
		var elem;
		//alert(sType);
		disableAll();
		switch (sType) {
			case 'editorta':
			case 'textarea':
				$('#divText,#divColsRows').show();
				break;

			case 'emailaddress':
			case 'password':
			case 'text':
			case 'integer':
			case 'predefined':
				$('#divText').show();
				break;

			case 'select':
			case 'multiselect':
				$('#divValues').show();
				$('#vNames0').attr('mosReq','1');
				break;

			case 'radio':
			case 'multicheckbox':
				$('#divValues,#divColsRows').show();
				$('#vNames0').attr('mosReq','1');
				break;

			case 'webaddress':
				$('#divText,#divWeb').show();
				break;

			case 'delimiter':
			default:
		}
	}

  function prep4SQL(o){
	if(o.value!='') {
		var cbsqloldvalue, cbsqlnewvalue;
		o.value=o.value.replace('cb_','');
		cbsqloldvalue = o.value;
		o.value=o.value.replace(/[^a-zA-Z0-9]+/g,'');
		cbsqlnewvalue = o.value;
		o.value='cb_' + o.value;
		if (cbsqloldvalue != cbsqlnewvalue) {
			alert('<?php echo addslashes( CBTxt::T('Warning: SQL name of field has been changed to fit SQL constraints') ); ?>');
		}
	}
  }
  var cbTypeState = $('#type').val();	$('#type').change(function() { selType(this.options[this.selectedIndex].value); if ( cbTypeState != $('#type').val() ) submitbutton('reloadField') } ).change();
  $('#name').change(function() { if ( ! $('#name').attr('disabled') ) { prep4SQL(this); } } ).change();
  $('#insertrow').click(function() { insertRow(); } );
  $('#fieldValuesList').sortable( { items: 'li', containment: 'parent', animated: true, placeholder: 'fieldValuesList-selected' } );
//  $('#mainparams').sortable( { items: 'tr', containment: 'parent', animated: true } );
  /* $('#adminForm').submit(function() { return submitbutton(''); } );	*/
  disableAll();
  selType('<?php echo $row->type; ?>');
<?php
$jsContent	=	ob_get_contents();
ob_end_clean();

		$_CB_framework->outputCbJQuery( $jsContent, 'ui-all' );
?>
<form action="<?php echo $_CB_framework->backendUrl( 'index.php?option=com_comprofiler&task=saveField' ); ?>" method="POST" id="adminForm" name="adminForm">
<?php
		if ( $paramsEditorHtml ) {
?>
  <table cellspacing="0" cellpadding="0" width="100%">
   <tr valign="top">
    <td width="60%" valign="top">
<?php
		}
?>

	<table cellpadding="4" cellspacing="1" border="0" width="100%" class="adminform" id="mainparams">
		<tr>
			<td width="20%"><?php echo CBTxt::T('Type'); ?>:</td>
			<td width="20%"><?php echo $lists['type']; ?></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td width="20%"><?php echo CBTxt::T('Tab'); ?>:</td>
			<td width="20%"><?php echo $lists['tabs']; ?></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td width="20%"><?php echo CBTxt::T('Name'); ?>:</td>
			<td align=left  width="20%"><input type="text" id="name" name="name" maxlength='64' mosReq="1" mosLabel="<?php echo htmlspecialchars( CBTxt::T('Name') ); ?>" class="inputbox" value="<?php echo htmlspecialchars( $row->name ); ?>" /></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td width="20%"><?php echo CBTxt::T('Title'); ?>:</td>
			<td width="20%" align=left><input type="text" name="title" mosReq="1" mosLabel="<?php echo htmlspecialchars( CBTxt::T('Title') ); ?>" class="inputbox" value="<?php echo htmlspecialchars( $row->title ); ?>" /></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td colspan="3"><?php echo CBTxt::T('Description/"i" field-tip: text or HTML'); ?>:</td>
		</tr>
		<tr>
			<td colspan="3" align=left><?php echo $_CB_framework->displayCmsEditor( 'description', $row->description, 600 /* ( $row->type == 'delimiter' ? 600 : 286 ) */ , 200, 50, 7 );
			// <textarea name="description" cols="40" rows="6" maxlength='255' mosReq="0" mosLabel="Description" class="inputbox">< ?php echo htmlspecialchars( $row->description ); ? ></textarea>
			?></td>
		</tr>
<?php
		if ( $row->type != 'delimiter' ) { ?>

		<tr>
<?php		if ( $row->type == 'editorta' ) {	?>
			<td colspan="3"><?php echo CBTxt::T('Pre-filled default value at registration only'); ?>:</td>
		</tr>
		<tr>
			<td colspan="3"><?php
				echo $_CB_framework->displayCmsEditor( 'cb_default', $row->default, 600, 200, 50, 7 );
			?></td>
<?php
			} else {
				?>
			<td width="20%"><?php echo CBTxt::T('Pre-filled default value at registration only'); ?>:</td>
			<td width="20%">
				<input type="text" name="cb_default" mosLabel="<?php echo htmlspecialchars( CBTxt::T('Default value') ); ?>" class="inputbox" value="<?php echo htmlspecialchars( $row->default ); ?>" />
			</td>
			<td>&nbsp;</td><?php
			}
			?>
		</tr>
<?php
		}
?>

		<tr>
			<td width="20%"><?php echo CBTxt::T('Required'); ?>?:</td>
			<td width="20%"><?php echo $lists['required']; ?></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td width="20%"><?php echo CBTxt::T('Show on Profile'); ?>?:</td>
			<td width="20%"><?php echo $lists['profile']; ?></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td width="20%"><?php echo CBTxt::T('Display field title in Profile'); ?>?:</td>
			<td width="20%"><?php echo $lists['displaytitle']; ?></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td width="20%"><?php echo CBTxt::T('Searchable in users-lists'); ?>?:</td>
			<td width="20%"><?php echo $lists['searchable']; ?></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td width="20%"><?php echo CBTxt::T('User Read Only'); ?>?:</td>
			<td width="20%"><?php echo $lists['readonly']; ?></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td width="20%"><?php echo CBTxt::T('Show at Registration'); ?>?:</td>
			<td width="20%"><?php echo $lists['registration']; ?></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td width="20%"><?php echo CBTxt::T('Published'); ?>:</td>
			<td width="20%"><?php echo ( $row->sys == 1 ? ( $row->published ? _UE_YES : _UE_NO ) . ' (' . CBTxt::T('System-fields cannot be published/unpublished here.') . ( in_array( $row->name, array( 'name', 'firstname', 'middlename', 'lastname' ) ) ? ' ' . CBTxt::T('Name-fields publishing depends on your setting in global CB config.') . ')' : ')' ) : $lists['published'] ); ?></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td width="20%"><?php echo CBTxt::T('Size'); ?>:</td>
			<td width="20%"><input type="text" name="size" mosLabel="<?php echo htmlspecialchars( CBTxt::T('Size') ); ?>" class="inputbox" value="<?php echo htmlspecialchars( $row->size ); ?>" /></td>
			<td>&nbsp;</td>
		</tr>
	</table>
	<div id="page1"  class="pagetext">

	</div>
	<div id="divText"  class="pagetext">
		<table cellpadding="4" cellspacing="1" border="0" width="100%" class="adminform">
		<tr>
			<td width="20%"><?php echo CBTxt::T('Max Length'); ?>:</td>
			<td width="20%"><input type="text" name="maxlength" mosLabel="<?php echo htmlspecialchars( CBTxt::T('Max Length') ); ?>" class="inputbox" value="<?php echo htmlspecialchars( $row->maxlength ); ?>" /></td>
			<td>&nbsp;</td>
		</tr>
		</table>
	</div>
	<div id="divColsRows"  class="pagetext">
		<table cellpadding="4" cellspacing="1" border="0" width="100%" class="adminform">
		<tr>
			<td width="20%"><?php echo CBTxt::T('Cols'); ?>:</td>
			<td width="20%"><input type="text" name="cols" mosLabel="<?php echo htmlspecialchars( CBTxt::T('Cols') ); ?>" class="inputbox" value="<?php echo htmlspecialchars( $row->cols ); ?>" /></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td width="20%"><?php echo CBTxt::T('Rows'); ?>:</td>
			<td width="20%"><input type="text" name="rows"  mosLabel="<?php echo htmlspecialchars( CBTxt::T('Rows') ); ?>" class="inputbox" value="<?php echo htmlspecialchars( $row->rows ); ?>" /></td>
			<td>&nbsp;</td>
		</tr>
		</table>
	</div>
	<div id="divWeb"  class="pagetext">
		<table cellpadding="4" cellspacing="1" border="0" width="100%" class="adminform">
		<tr>
			<td width="20%"><?php echo CBTxt::T('Type'); ?>:</td>
			<td width="20%"><?php echo $lists['webaddresstypes']; ?></td>
			<td>&nbsp;</td>
		</tr>
		</table>
	</div>
	<div id="divValues" style="text-align:left;">
		<?php echo CBTxt::T('Use the table below to add new values.'); ?><br />
		<input type=button id="insertrow" value="<?php echo htmlspecialchars( CBTxt::T('Add a Value') ); ?>" />
		<table align="left" id="divFieldValues" cellpadding="4" cellspacing="1" border="0" width="100%" class="adminform" >
		<thead>
		<tr>
			<th width="20%"><?php echo CBTxt::T('Name'); ?></th>
		</tr>
		</thead>
		<tbody id="fieldValuesBody">
		<tr>
			<td>
				<ul id="fieldValuesList">
	<?php
		//echo "count:".count( $fieldvalues );
		//print_r (array_values($fieldvalues));
		for ($i=0, $n=count( $fieldvalues ); $i < $n; $i++) {
			//print "count:".$i;
			$fieldvalue = $fieldvalues[$i];
			if ($i==0) $req =1;
			else $req = 0;
			echo "\n<li><input type='text' mosReq='$req'  mosLabel='" . htmlspecialchars( CBTxt::T('Value') ) . "' value=\"" . htmlspecialchars( $fieldvalue->fieldtitle ) . "\" name=\"vNames[]\" id=\"vNames".$i."\" /></li>\n";
		}
		if(count( $fieldvalues )< 1) {
			echo "\n<li><input type='text' mosReq='0'  mosLabel='" . htmlspecialchars( CBTxt::T('Value') ) . "' value='' name='vNames[]' /></li>\n";
			$i=0;
		}
	?>
				</ul>
			</td>
		</tr>
		</tbody>
	  </table>
	</div>
<?php
/*
		//echo "count:".count( $fieldvalues );
		//print_r (array_values($fieldvalues));
		for ($i=0, $n=count( $fieldvalues ); $i < $n; $i++) {
			//print "count:".$i;
			$fieldvalue = $fieldvalues[$i];
			if ($i==0) $req =1;
			else $req = 0;
			echo "<tr>\n<td width=\"20%\"><input type='text' mosReq='$req'  mosLabel='" . htmlspecialchars( CBTxt::T('Value') ) . "' value=\"" . htmlspecialchars( $fieldvalue->fieldtitle ) . "\" name=\"vNames[".$i."]\" id=\"vNames".$i."\" /></td></tr>\n";
		}
		if(count( $fieldvalues )< 1) {
			echo "<tr>\n<td width=\"20%\"><input type='text' mosReq='0'  mosLabel='" . htmlspecialchars( CBTxt::T('Value') ) . "' value='' name=vNames[0] /></td></tr>\n";
			$i=0;
		}
	?>
		</tbody>
		</table>
	</div>
<?php
*/
		if ( $paramsEditorHtml ) {
?>
    </td>
    <td width="40%" valign="top">
<?php
			foreach ( $paramsEditorHtml as $paramsEditorHtmlBlock ) {
?>
		<table class="adminform" cellspacing="0" cellpadding="0" width="100%">
			<tr>
				<th colspan="2">
					<?php echo $paramsEditorHtmlBlock['title']; ?>
				</th>
			</tr>
			<tr>
				<td>
					<?php echo $paramsEditorHtmlBlock['content']; ?>
				</td>
			</tr>
		</table>
<?php
			}
?>
    </td>
   </tr>
  </table>
<?php
		}
?>
  <table cellpadding="4" cellspacing="1" border="0" width="100%" class="adminform">
		<tr>
			<td colspan="3">&nbsp;</td>
		</tr>

  </table>
  <input type="hidden" name="valueCount" value=<?php echo $i; ?> />
  <input type="hidden" name="oldtabid" value="<?php echo htmlspecialchars( $row->tabid ); ?>" />
  <input type="hidden" name="fieldid" value="<?php echo (int) $row->fieldid; ?>" />
  <input type="hidden" name="ordering" value="<?php echo htmlspecialchars( $row->ordering ); ?>" />
  <input type="hidden" name="option" value="<?php echo $option; ?>" />
  <input type="hidden" name="task" value="" />
  <?php
	echo cbGetSpoofInputTag( 'field' );
  ?>
</form>
<?php
	}
コード例 #24
0
ファイル: CBPTXT.php プロジェクト: kosmosby/medicine-prof
	/**
	 * Translates, prepares the HTML $htmlText with triggering CMS Content Plugins, replaces CB substitutions and extra HTML and non-HTML substitutions
	 * @see CBuser::replaceUserVars
	 *
	 * @param  string      $mainText
	 * @param  int         $user_id
	 * @param  boolean     $html
	 * @param  boolean     $translateMainText
	 * @param  boolean     $prepareHtmlContentPlugins
	 * @param  array|null  $extraHtmlStrings
	 * @param  array|null  $extraNonHtmlStrings
	 * @return string
	 */
	public static function replaceUserVars( $mainText, $user_id, $html, $translateMainText = true,
											$prepareHtmlContentPlugins = false,
											$extraHtmlStrings = null, $extraNonHtmlStrings = null )
	{
		if ( $translateMainText ) {
			$mainText		=	$html ? parent::Th( $mainText ) : parent::T( $mainText );
		}

		if ( $prepareHtmlContentPlugins ) {
			$mainText		=	Application::Cms()->prepareHtmlContentPlugins( $mainText );

			if ( ! $html ) {
				$mainText	=	strip_tags( $mainText );
			}
		}

		$cbUser				=	CBuser::getInstance( (int) $user_id );

		if ( ! $cbUser ) {
			$cbUser			=	CBuser::getInstance( null );
		}

		$mainText			=	$cbUser->replaceUserVars( $mainText, true, false, $extraNonHtmlStrings, false );

		if ( $extraHtmlStrings ) {
			foreach ( $extraHtmlStrings as $k => $v ) {
				$mainText	=	str_replace( "[$k]", $html ? $v : strip_tags( $v ), $mainText );
			}
		}

		return $mainText;
	}
コード例 #25
0
	/**
	 * render frontend tab invites
	 *
	 * @param object $rows
	 * @param object $pageNav
	 * @param moscomprofilerUser $displayed
	 * @param moscomprofilerUser $user
	 * @param object $plugin
	 * @param boolean $tabbed
	 * @return mixed
	 */
	static function showInvites( $rows, $pageNav, $displayed, $user, $plugin, $tabbed ) {
		global $_CB_framework;

		$invitesTabSearch			=	$plugin->params->get( 'invites_tab_search', 1 );
		$invitesTabPaging			=	$plugin->params->get( 'invites_tab_paging', 1 );
		$invitesTabLimitbox			=	$plugin->params->get( 'invites_tab_limitbox', 1 );

		if ( ! $tabbed ) {
			$formUrl				=	cbgjClass::getPluginURL( array( 'panel', 'invites' ) );
		} else {
			$formUrl				=	$_CB_framework->userProfileUrl( $displayed->id, true, $plugin->tab->tabid );
		}

		$return						=	'<div class="gjTabInvites">'
									.		'<form action="' . $formUrl . '" method="post" name="gjTabForm_invites" id="gjTabForm_invites" class="gjForm">'
									.			( $invitesTabSearch && ( $pageNav->searching || $pageNav->total ) ? '<div class="gjTop gjTopRight">' . $pageNav->search . '</div>' : null );

		if ( $rows ) {
			$return					.=		'<div class="gjContent">';

			foreach ( $rows as $row ) {
				$group				=	$row->getGroup();
				$category			=	$group->getCategory();

				if ( $row->get( 'user' ) ) {
					$userAvatar		=	$row->getInvitedAvatar( true );
					$userName		=	$row->getInvitedName( true );
					$userOnline		=	$row->getInvitedOnline();
				} else {
					$userAvatar		=	'<img src="' . selectTemplate() . 'images/avatar/tnnophoto_n.png" alt="' . htmlspecialchars( $row->get( 'email' ) ) . '" title="' . htmlspecialchars( $row->get( 'email' ) ) . '" />';
					$userName		=	'******' . htmlspecialchars( $row->get( 'email' ) ) . '">' . htmlspecialchars( $row->get( 'email' ) ) . '</a>';
					$userOnline		=	null;
				}

				$menuItems			=	cbgjClass::getIntegrations( 'gj_onBeforeProfileGroupInviteMenu', array( $row, $group, $category, $displayed, $user, $plugin ) )
									.	'<div><a href="javascript: void(0);" onclick="' . cbgjClass::getPluginURL( array( 'invites', 'delete', (int) $category->get( 'id' ), (int) $group->get( 'id' ), (int) $row->get( 'id' ) ), CBTxt::T( 'Are you sure you want to delete this invite?' ) ) . '"><i class="icon-remove"></i> ' . CBTxt::Th( 'Delete' ) . '</a></div>'
									.	cbgjClass::getIntegrations( 'gj_onAfterProfileGroupInviteMenu', array( $row, $group, $category, $displayed, $user, $plugin ) );

				$return				.=			'<div class="gjContentBox mini-layout">'
									.				'<div class="gjContentBoxRow">' . $userName . '</div>'
									.				'<div class="gjContentBoxRow">' . $userAvatar . '</div>'
									.				( $userOnline ? '<div class="gjContentBoxRow">' . $userOnline . '</div>' : null )
									.				'<div class="gjContentBoxRow">' . $group->getName( 0, true ) . '</div>'
									.				'<div class="gjContentBoxRow">' . $category->getName( 0, true ) . '</div>'
									.				'<div class="gjContentBoxRow">'
									.					cbgjClass::getIntegrations( 'gj_onBeforeProfileGroupInviteInfo', array( $row, $group, $category, $displayed, $user, $plugin ) )
									.					'<span title="' . cbFormatDate( $row->get( 'invited' ), 1, false ) . ( $row->isAccepted() ? ' - ' . cbFormatDate( $row->get( 'accepted' ), 1, false ) : null ) . '">' . $row->getStatus() . '</span>'
									.					cbgjClass::getIntegrations( 'gj_onAfterProfileGroupInviteInfo', array( $row, $group, $category, $displayed, $user, $plugin ) )
									.				'</div>';

				if ( ( ! $row->isAccepted() ) && ( $row->dateDifference() >= 5 ) ) {
					$return			.=				'<div class="gjContentBoxRow">'
									.					'<input type="button" value="' . htmlspecialchars( CBTxt::Th( 'Resend' ) ) . '" class="gjButton btn btn-mini btn-success" onclick="' . cbgjClass::getPluginURL( array( 'invites', 'send', (int) $category->get( 'id' ), (int) $group->get( 'id' ), (int) $row->get( 'id' ) ), true ) . '" />'
									.				'</div>';
				}

				$return				.=				'<div class="gjContentBoxRow">'
									.					cbgjClass::getDropdown( $menuItems, CBTxt::Th( 'Menu' ) )
									.				'</div>';

				$return				.=			'</div>';
			}

			$return					.=		'</div>';
		} else {
			$return					.=			'<div class="gjContent">';

			if ( $invitesTabSearch && $pageNav->searching ) {
				$return				.=				CBTxt::Th( 'No invite search results found.' );
			} else {
				if ( $displayed->id == $user->id ) {
					$return			.=				CBTxt::Th( 'You have no invites.' );
				} else {
					$return			.=				CBTxt::Th( 'This user has no invites.' );
				}
			}

			$return					.=			'</div>';
		}

		if ( $invitesTabPaging ) {
			$return					.=			'<div class="gjPaging pagination pagination-centered">'
									.				( $pageNav->total > $pageNav->limit ? $pageNav->pagelinks : null )
									.				( ! $invitesTabLimitbox ? $pageNav->getLimitBox( false ) : ( $pageNav->total ? '<div class="gjPagingLimitbox">' . $pageNav->limitbox . '</div>' : null ) )
									.			'</div>';
		}

		$return						.=			cbGetSpoofInputTag( 'plugin' )
									.		'</form>'
									.	'</div>';

		return $return;
	}
コード例 #26
0
            echo htmlspecialchars($templateClass);
            ?>
">
								<span class="cbModuleRegisterIcon fa fa-edit" title="<?php 
            echo htmlspecialchars(CBTxt::T('UE_REGISTER', 'Sign up'));
            ?>
"></span>
							</span>
						<?php 
        }
        ?>
						<?php 
        if (in_array($params->get('show_newaccount', 1), array(1, 3))) {
            ?>
							<?php 
            echo CBTxt::T('UE_REGISTER', 'Sign up');
            ?>
						<?php 
        }
        ?>
					</a>
				</span>
				&nbsp;
			<?php 
    }
    ?>
		</span>
	<?php 
}
?>
	<?php 
コード例 #27
0
"></span>
								</span>
							<?php 
        }
        ?>
							<?php 
        if ($newConnectionRequests) {
            ?>
								<?php 
            echo $newConnectionRequests == 1 ? CBTxt::T('YOU_HAVE_COUNT_NEW_CONNECTION_REQUEST', 'You have [count] new connection request.', array('[count]' => $newConnectionRequests)) : CBTxt::T('YOU_HAVE_COUNT_NEW_CONNECTION_REQUESTS', 'You have [count] new connection requests.', array('[count]' => $newConnectionRequests));
            ?>
							<?php 
        } else {
            ?>
								<?php 
            echo CBTxt::T('You have no new connection requests.');
            ?>
							<?php 
        }
        ?>
						</a>
					</li>
				<?php 
    }
    ?>
				<?php 
    if ($profileViewText) {
        ?>
					<li class="logout-profile">
						<a href="<?php 
        echo $_CB_framework->userProfileUrl();
コード例 #28
0
	function saveTab( $option ) {
		global $_CB_database, $_CB_framework, $_POST;

		$this->_importNeeded();
		$this->_importNeededSave();

		if ( isset( $_POST['params'] ) ) {
		 	$_POST['params']	=	cbParamsEditorController::getRawParamsMagicgpcEscaped( $_POST['params'] );
		} else {
			$_POST['params']	=	'';
		}
	
		if ( ! isset( $_POST['tabid'] ) || ( count( $_POST ) == 0 ) ) {
			echo "<script type=\"text/javascript\"> alert('" . addslashes( CBTxt::T('Missing post values') ) . "'); window.history.go(-2); </script>\n";
			exit();
		}
		if ( $_POST['tabid'] ) {
			$oldrow		=	new moscomprofilerTabs( $_CB_database );
			if ( $oldrow->load( (int) $_POST['tabid'] )
				&& 	( ! in_array( $oldrow->useraccessgroupid, getChildGIDS( userGID( $_CB_framework->myId() ) ) ) ) ) {
				echo "<script type=\"text/javascript\"> alert('" . addslashes( CBTxt::T('Unauthorized Access') ) . "'); window.history.go(-1);</script>\n";
				exit;
			}
		}
	
		$row = new moscomprofilerTabs( $_CB_database );
		if (!$row->bind( $_POST )) {
			echo "<script type=\"text/javascript\"> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
			exit();
		}
	
		if ( ! $row->ordering_register ) {
			$row->ordering_register		=	10;
		}
	
		$row->description	=	cleanEditorsTranslationJunk( trim( $row->description ) );
	
		if (!$row->check()) {
			echo "<script type=\"text/javascript\"> alert('".$row->getError()."'); window.history.go(-2); </script>\n";
			exit();
		}
		$row->tabid			=	(int) cbGetParam( $_POST, 'tabid', 0 );
		if ( ! $row->store() ) {
			echo "<script type=\"text/javascript\"> alert('".$row->getError()."'); window.history.go(-2); </script>\n";
			exit();
		}
	
		$row->checkin();
		cbRedirect( $_CB_framework->backendUrl( "index.php?option=$option&task=showTab" ), CBTxt::T('Successfully Saved Tab') . ": ". $row->title );
	}
コード例 #29
0
	/**
	 * finds and accepts a users invites when registered within CB (front and backend)
	 *
	 * @param  moscomprofilerUser $user
	 */
	public function acceptInvites( $user ) {
		$plugin					=	cbgjClass::getPlugin();

		if ( $plugin->params->get( 'group_invites_accept', 1 ) ) {
			$invites			=	cbgjData::getInvites( null, array( 'email', '=', $user->email ) );

			if ( $invites ) foreach ( $invites as $invite ) {
				$invite->set( 'accepted', cbgjClass::getUTCDate() );
				$invite->set( 'user', (int) $user->id );

				if ( $invite->store() ) {
					$row		=	cbgjData::getUsers( null, array( array( 'group', '=', (int) $invite->get( 'group' ) ), array( 'user_id', '=', (int) $user->id ) ), null, null, false );

					if ( ! $row->get( 'id' ) ) {
						$row->set( 'user_id', (int) $user->id );
						$row->set( 'group', (int) $invite->get( 'group' ) );
						$row->set( 'date', cbgjClass::getUTCDate() );
						$row->set( 'status', 1 );

						$row->store();
					}
				}

				$notification	=	cbgjData::getNotifications( array( array( 'grp_usr_notifications' ), 'owner' ), array( array( 'type', '=', 'group' ), array( 'item', '=', (int) $invite->get( 'group' ) ), array( 'user_id', '=', (int) $invite->get( 'user_id' ) ), array( 'params', 'CONTAINS', 'group_inviteaccept=1' ) ), null, null, false );

				if ( $notification->get( 'id' ) ) {
					$subject	=	CBTxt::T( '[group_name] - Invite Accepted!' );
					$message	=	CBTxt::T( '[user] has accepted your invite to join [group] in [category]!' );

					cbgjClass::getNotification( $notification->get( 'user_id' ), $invite->get( 'user' ), $subject, $message, 1, $invite->getCategory(), $invite->getGroup() );
				}
			}
		}
	}
コード例 #30
0
 /**
  * Returns the activity update corresponding to the logged values
  *
  * @param  moscomprofilerFields       $field
  * @param  moscomprofilerActivity     $activity
  * @param  moscomprofilerUser         $user
  * @param  string  $output            NO 'htmledit' BUT: 'html', 'xml', 'json', 'php', 'csvheader', 'csv', 'rss', 'fieldslist'
  * @param  boolean $htmlspecialchars  TRUE: escape for display, FALSE: not escaped will display raw.
  * @return mixed
  */
 function _formatFieldActivityOutput(&$field, &$activity, &$user, $output, $htmlspecialchars = true)
 {
     $name = $field->name;
     /*
     		global $_CB_framework, $ueConfig;
     		$value		=	'<a href="' . $_CB_framework->userProfileUrl( $user->id ) . '">'
     					.	getNameFormat( $user->name, $user->username, $ueConfig['name_format'] )
     					.	'</a>'
     					.	' updated his '
     */
     $value = $this->_formatFieldOutput($field->name, $activity->new_value, $output, $htmlspecialchars);
     switch ($output) {
         case 'html':
         case 'rss':
         case 'htmledit':
             $title = $this->getFieldTitle($field, $user, $output, 'profile');
             if ($htmlspecialchars) {
                 return sprintf('%s %s %s', '<span class="titleCell">' . $title . '</span>', '<span class="cbIs">' . CBTxt::Th('is now') . '</span>', '<span class="fieldCell">' . htmlspecialchars($value) . '</span>');
             } else {
                 return sprintf(CBTxt::T('%s is now %s'), $title, $value);
                 //FIXME : LANGUAGE STRINGS FOR THIS !
             }
             break;
         case 'xml':
             return '<' . $name . '>' . htmlspecialchars($value) . '</' . $name . '>';
             // htmlspecialchars handled already by _formatFieldOutput
             break;
         case 'json':
             return "'" . $name . "' : '" . addslashes($value) . "'";
             break;
         case 'php':
             return array($name => $value);
             break;
         case 'csvheader':
         case 'fieldslist':
             return $name;
             break;
         case 'csv':
             return '"' . addslashes($value) . '"';
             break;
         default:
             trigger_error('_formatFieldActivityOutput called with ' . htmlspecialchars($output), E_USER_WARNING);
             return $value;
             break;
     }
 }