本文整理汇总了PHP中EasyBlogHelper::getRegistry方法的典型用法代码示例。如果您正苦于以下问题:PHP EasyBlogHelper::getRegistry方法的具体用法?PHP EasyBlogHelper::getRegistry怎么用?PHP EasyBlogHelper::getRegistry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EasyBlogHelper
的用法示例。
在下文中一共展示了EasyBlogHelper::getRegistry方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: form
public function form($tpl = null)
{
JHTML::_('behavior.modal', 'a.modal');
$feed = EasyBlogHelper::getTable('Feed', 'Table');
JToolBarHelper::title(JText::_('COM_EASYBLOG_BLOGS_FEEDS_CREATE_NEW_TITLE'), 'feeds');
JToolBarHelper::custom('save', 'save.png', 'save_f2.png', 'COM_EASYBLOG_SAVE', false);
JToolbarHelper::cancel();
$cid = JRequest::getVar('cid', '', 'REQUEST');
if (!empty($cid)) {
$feed->load($cid);
}
$post = JRequest::get('POST');
if (!empty($post)) {
$feed->bind($post);
}
$categoryName = '';
$authorName = '';
if (!empty($feed->item_category)) {
$categoryName = $feed->getCategoryName();
}
if (!empty($feed->item_creator)) {
$author = JFactory::getUser($feed->item_creator);
$authorName = $author->name;
}
$params = EasyBlogHelper::getRegistry($feed->params);
$this->assignRef('params', $params);
$this->assignRef('feed', $feed);
$this->assignRef('categoryName', $categoryName);
$this->assignRef('authorName', $authorName);
parent::display($tpl);
}
示例2: addNotification
/**
* Adds a notification item in JomSocial
*
* @access public
* @param TableBlog $blog The blog table.
*/
public function addNotification($title, $type, $target, $author, $link)
{
jimport('joomla.filesystem.file');
// @since this only works with JomSocial 2.6, we need to test certain files.
$file = JPATH_ROOT . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_community' . DIRECTORY_SEPARATOR . 'libraries' . DIRECTORY_SEPARATOR . 'notificationtypes.php';
if (!$this->exists || empty($target) || $target[0] == $author->getId() || !JFile::exists($file)) {
return false;
}
CFactory::load('helpers', 'notificationtypes');
CFactory::load('helpers', 'content');
CFactory::load('libraries', 'notificationtypes');
// @task: Set the necessary parameters first.
$params = EasyBlogHelper::getRegistry('');
$params->set('url', str_replace("administrator/", "", $author->getProfileLink()));
// @task: Obtain model from jomsocial.
$model = CFactory::getModel('Notification');
// @task: Currently we are not using this, so we should just skip this.
$requireAction = 0;
if (!is_array($target)) {
$target = array($target);
}
foreach ($target as $targetId) {
JTable::addIncludePath(JPATH_ROOT . '/components/com_community/tables');
$notification = JTable::getInstance('Notification', 'CTable');
$notification->actor = $author->getId();
$notification->target = $targetId;
$notification->content = $title;
$notification->created = EasyBlogHelper::getDate()->toMySQL();
$notification->params = $params->toString();
$notification->cmd_type = CNotificationTypesHelper::convertNotifId($type);
$notification->type = 0;
$notification->store();
}
return true;
}
示例3: getLimit
public function getLimit($key = 'listlength')
{
$app = JFactory::getApplication();
$default = EasyBlogHelper::getJConfig()->get('list_limit');
if ($app->isAdmin()) {
return $default;
}
$menus = JFactory::getApplication()->getMenu();
$menu = $menus->getActive();
$limit = -2;
if (is_object($menu)) {
$params = EasyBlogHelper::getRegistry();
$params->load($menu->params);
$limit = $params->get('limit', '-2');
}
// if menu did not specify the limit, then we use easyblog setting.
if ($limit == '-2') {
// Use default configurations.
$config = EasyBlogHelper::getConfig();
// @rule: For compatibility between older versions
if ($key == 'listlength') {
$key = 'layout_listlength';
} else {
$key = 'layout_pagination_' . $key;
}
$limit = $config->get($key);
}
// Revert to joomla's pagination if configured to inherit from Joomla
if ($limit == '0' || $limit == '-1' || $limit == '-2') {
$limit = $default;
}
return $limit;
}
示例4:
function &getConfig()
{
static $config = null;
if (is_null($config)) {
$params =& $this->_getParams('config');
$config = EasyBlogHelper::getRegistry($params);
}
return $config;
}
示例5: __construct
/**
* Class Constructor
*
* @since 3.7
* @access public
*/
public function __construct($sel_theme = null)
{
$config = EasyBlogHelper::getConfig();
$this->user_theme = $config->get('layout_theme');
// Default theme
$theme = 'default';
if (empty($sel_theme)) {
$theme = $config->get('layout_theme');
} elseif ($sel_theme == 'dashboard') {
$theme = $config->get('layout_dashboard_theme');
$this->dashboard = true;
}
$this->_theme = $theme;
$obj = new stdClass();
$obj->config = EasyBlogHelper::getConfig();
$obj->my = JFactory::getUser();
$obj->admin = EasyBlogHelper::isSiteAdmin();
$profile = EasyBlogHelper::getTable('Profile', 'Table');
$profile->load($obj->my->id);
$profile->setUser($obj->my);
$obj->profile = $profile;
$currentTheme = $this->_theme;
if (JRequest::getVar('theme', '') != '') {
$currentTheme = JRequest::getVar('theme');
}
// Legacy fix
if ($currentTheme == 'hako - new') {
$currentTheme = 'default';
}
// @rule: Set the necessary parameters here.
$rawParams = EBLOG_THEMES . DIRECTORY_SEPARATOR . $currentTheme . DIRECTORY_SEPARATOR . 'config.xml';
if (JFile::exists($rawParams) && !$this->dashboard) {
$this->params = EasyBlogHelper::getRegistry();
// @task: Now we bind the default params
$defaultParams = EBLOG_THEMES . DIRECTORY_SEPARATOR . $currentTheme . DIRECTORY_SEPARATOR . 'config.ini';
if (JFile::exists($defaultParams)) {
$this->params->load(JFile::read($defaultParams));
}
$themeConfig = $this->_getThemeConfig($currentTheme);
// @task: Now we override it with the user saved params
if (!empty($themeConfig->params)) {
$extendObj = EasyBlogHelper::getRegistry($themeConfig->params);
EasyBlogRegistryHelper::extend($this->params, $extendObj);
}
}
//is blogger mode flag
$obj->isBloggerMode = EasyBlogRouter::isBloggerMode();
$this->set('system', $obj);
$this->acl = EasyBlogACLHelper::getRuleSet();
}
示例6: getParams
public function getParams($theme)
{
static $param = false;
if (!$param) {
$ini = EBLOG_THEMES . DIRECTORY_SEPARATOR . $theme . DIRECTORY_SEPARATOR . 'config.ini';
$manifest = EBLOG_THEMES . DIRECTORY_SEPARATOR . $theme . DIRECTORY_SEPARATOR . 'config.xml';
$contents = JFile::read($ini);
$param = EasyBlogHelper::getRegistry($contents);
$themeConfig = EasyBlogHelper::getTable('Configs');
$themeConfig->load($theme);
// @rule: Overwrite with the settings from the database.
if (!empty($themeConfig->params)) {
$themeParam = EasyBlogHelper::getRegistry($themeConfig->params);
EasyBlogHelper::getHelper('Registry')->extend($param, $themeParam);
}
}
return $param;
}
示例7: unsubscribe
function unsubscribe()
{
$my = JFactory::getUser();
$redirectLInk = 'index.php?option=com_easyblog&view=subscription';
if ($my->id == 0) {
$redirectLInk = 'index.php?option=com_easyblog&view=latest';
}
//type=site - subscription type
//sid=1 - subscription id
//uid=42 - user id
//token=0fd690b25dd9e4d2dc47a252d025dff4 - md5 subid.subdate
$data = base64_decode(JRequest::getVar('data', ''));
$param = EasyBlogHelper::getRegistry($data);
$param->type = $param->get('type', '');
$param->sid = $param->get('sid', '');
$param->uid = $param->get('uid', '');
$param->token = $param->get('token', '');
$subtable = EasyBlogHelper::getTable($param->type, 'Table');
$subtable->load($param->sid);
$token = md5($subtable->id . $subtable->created);
$paramToken = md5($param->sid . $subtable->created);
if ($subtable->id != 0) {
if ($token != $paramToken) {
EasyBlogHelper::setMessageQueue(JText::_('COM_EASYBLOG_SUBSCRIPTION_UNSUBSCRIBE_FAILED'), 'error');
$this->setRedirect(EasyBlogRouter::_($redirectLInk, false));
return false;
}
if (!$subtable->delete($param->sid)) {
EasyBlogHelper::setMessageQueue(JText::_('COM_EASYBLOG_SUBSCRIPTION_UNSUBSCRIBE_FAILED_ERROR_DELETING_RECORDS'), 'error');
$this->setRedirect(EasyBlogRouter::_($redirectLInk, false));
return false;
}
}
EasyBlogHelper::setMessageQueue(JText::_('COM_EASYBLOG_SUBSCRIPTION_UNSUBSCRIBE_SUCCESS'));
$this->setRedirect(EasyBlogRouter::_($redirectLInk, false));
return true;
}
示例8: __construct
public function __construct($name = '', $contents = '', $manifestFile, $xpath = false)
{
$version = EasyBlogHelper::getJoomlaVersion();
if ($version >= '3.0') {
$this->form = new JForm($name);
if ($xpath == 'params') {
$xpath = 'config/fields';
}
$this->form->loadFile($manifestFile, true, $xpath);
$themeConfig = EasyBlogHelper::getTable('Configs');
$themeConfig->load($name);
$themeParam = EasyBlogHelper::getRegistry($themeConfig->params);
$registry = EasyBlogHelper::getRegistry($contents);
$this->form->bind($registry->toArray());
} else {
$this->form = new JParameter($contents, $manifestFile);
$themeConfig = EasyBlogHelper::getTable('Configs');
$themeConfig->load($name);
// @rule: Overwrite with the settings from the database.
if (!empty($themeConfig->params)) {
$this->form->bind($themeConfig->params);
}
}
}
示例9: setAccess
public function setAccess($access)
{
$access = EasyBlogHelper::getRegistry($access);
$this->_access_token = $access->get('token');
return true;
}
示例10: latest
/**
* Displays a single latest blog entry.
*
* @since 3.5
* @author Mark Lee <mark@stackideas.com>
*/
public function latest()
{
// Fetch the latest blog entry
$model = $this->getModel('Blog');
// Get the current active menu's properties.
$app = JFactory::getApplication();
$menu = $app->getMenu()->getActive();
$inclusion = '';
if (is_object($menu)) {
$params = EasyBlogHelper::getRegistry($menu->params);
$inclusion = EasyBlogHelper::getCategoryInclusion($params->get('inclusion'));
}
$items = $model->getBlogsBy('latest', 0, '', 1, EBLOG_FILTER_PUBLISHED, null, true, array(), false, false, true, array(), $inclusion);
if (is_array($items) && !empty($items)) {
JRequest::setVar('id', $items[0]->id);
return $this->display();
}
echo JText::_('COM_EASYBLOG_NO_BLOG_ENTRY');
}
示例11: grant
/**
* This will be a callback from the oauth client.
* @param null
* @return null
**/
public function grant()
{
$type = JRequest::getCmd('type');
$userId = JRequest::getVar('id');
$mainframe = JFactory::getApplication();
$config = EasyBlogHelper::getConfig();
$key = $config->get('integrations_' . $type . '_api_key');
$secret = $config->get('integrations_' . $type . '_secret_key');
$my = JFactory::getUser($userId);
$redirect = JRequest::getVar('redirect', '');
$redirectUri = !empty($redirect) ? '&redirect=' . $redirect : '';
// @task: Let's see if caller wants us to go to any specific location or not.
if (!empty($redirect)) {
$redirect = base64_decode($redirect);
}
if (!EasyBlogHelper::isLoggedIn()) {
$mainframe->enqueueMessage(JText::_('COM_EASYBLOG_YOU_MUST_LOGIN_FIRST'), 'error');
$this->setRedirect(JRoute::_('index.php?option=com_easyblog&view=users', false));
return;
}
$oauth = EasyBlogHelper::getTable('Oauth', 'Table');
$loaded = $oauth->loadByUser($my->id, $type);
$denied = JRequest::getVar('denied', '');
$call = JRequest::getWord('call');
$callUri = !empty($call) ? '&call=' . $call . '&id=' . $my->id : '&id=' . $my->id;
if (!empty($denied)) {
$oauth->delete();
$mainframe->enqueueMessage(JText::_('COM_EASYBLOG_OAUTH_DENIED_ERROR'), 'error');
$redirect = JRoute::_('index.php?option=com_easyblog&view=users', false);
$this->setRedirect($redirect, false);
return;
}
if (!$loaded) {
$mainframe->enqueueMessage(JText::_('COM_EASYBLOG_OAUTH_UNABLE_TO_LOCATE_RECORD'), 'error');
$redirect = JRoute::_('index.php?option=com_easyblog&view=users', false);
$this->setRedirect($redirect, false);
return;
}
$request = EasyBlogHelper::getRegistry($oauth->request_token);
$callback = rtrim(JURI::root(), '/') . '/administrator/index.php?option=com_easyblog&c=oauth&task=grant&type=' . $type . $redirect . $callUri;
$consumer = EasyBlogOauthHelper::getConsumer($type, $key, $secret, $callback);
$verifier = $consumer->getVerifier();
if (empty($verifier)) {
// Since there is a problem with the oauth authentication, we need to delete the existing record.
$oauth->delete();
JError::raiseError(500, JText::_('COM_EASYBLOG_INVALID_VERIFIER_CODE'));
}
$access = $consumer->getAccess($request->get('token'), $request->get('secret'), $verifier);
if (!$access || empty($access->token) || empty($access->secret)) {
// Since there is a problem with the oauth authentication, we need to delete the existing record.
$oauth->delete();
$mainframe->enqueueMessage(JText::_('COM_EASYBLOG_OAUTH_ACCESS_TOKEN_ERROR'), 'error');
$this->setRedirect($redirect, false);
return;
}
$param = EasyBlogHelper::getRegistry('');
$param->set('token', $access->token);
$param->set('secret', $access->secret);
if (isset($access->expires)) {
$param->set('expires', $access->expires);
}
$oauth->access_token = $param->toString();
$oauth->params = $access->params;
$oauth->store();
$mainframe->enqueueMessage(JText::_('Application revoked successfully.'));
$url = JRoute::_('index.php?option=com_easyblog&c=user&id=' . $my->id . '&task=edit', false);
if (!empty($redirect)) {
$url = $redirect;
}
// @task: Let's see if the oauth client
if (!empty($call)) {
$consumer->{$call}();
} else {
$this->setRedirect($url);
}
}
示例12: getAccessTokenValue
/**
* Retrieves a key value from the access token object.
*/
public function getAccessTokenValue($key)
{
$param = EasyBlogHelper::getRegistry($this->access_token);
return $param->get($key);
}
示例13: getCommentCount
/**
* Retrieves the comment count for the specific blog
*
* @param int $blogId The blog id.
**/
public static function getCommentCount($blog)
{
$blogId = $blog->id;
$config = EasyBlogHelper::getConfig();
// If multiple comments, we output a common link
if ($config->get('main_comment_multiple')) {
return false;
}
if ($config->get('comment_komento')) {
$file = JPATH_ROOT . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_komento' . DIRECTORY_SEPARATOR . 'bootstrap.php';
if (JFile::exists($file)) {
require_once $file;
$commentsModel = Komento::getModel('comments');
$commentCount = $commentsModel->getCount('com_easyblog', $blog->id);
return $commentCount;
}
}
$easysocial = EasyBlogHelper::getHelper('EasySocial');
if ($config->get('comment_easysocial') && $easysocial->exists()) {
return $easysocial->getCommentCount($blog);
}
if ($config->get('comment_compojoom')) {
$file = JPATH_ROOT . '/administrator/components/com_comment/plugin/com_easyblog/josc_com_easyblog.php';
if (JFile::exists($file)) {
require_once $file;
return CommentEasyBlog::output($blog, array(), true);
}
$file = JPATH_ROOT . '/components/com_comment/helpers/utils.php';
if (JFile::exists($file)) {
JLoader::discover('ccommentHelper', JPATH_ROOT . '/components/com_comment/helpers');
return ccommentHelperUtils::commentInit('com_easyblog', $blog);
}
}
if ($config->get('intensedebate')) {
return false;
}
if ($config->get('comment_disqus')) {
static $disqus = false;
if (!$disqus) {
ob_start();
?>
var disqus_shortname = '<?php
echo $config->get('comment_disqus_code');
?>
';
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
<?php
$contents = ob_get_contents();
ob_end_clean();
JFactory::getDocument()->addScriptDeclaration($contents);
$disqus = true;
}
$string = '<!-- Disqus -->';
$string .= '<span class="discus-comment">';
$string .= '<a href="' . EasyBlogRouter::_('index.php?option=com_easyblog&view=entry&id=' . $blogId) . '#disqus_thread"><span>' . JText::_('COM_EASYBLOG_COMMENTS') . '</span></a>';
$string .= '</span>';
return $string;
// return false;
}
if ($config->get('comment_livefyre')) {
return false;
}
if ($config->get('comment_jomcomment')) {
$file = JPATH_ROOT . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_jomcomment' . DIRECTORY_SEPARATOR . 'helper' . DIRECTORY_SEPARATOR . 'minimal.helper.php';
jimport('joomla.filesystem.file');
if (!JFile::exists($file)) {
return false;
}
require_once $file;
return jcCountComment($blogId, 'com_easyblog');
}
$file = JPATH_ROOT . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_jcomments' . DIRECTORY_SEPARATOR . 'jcomments.php';
if ($config->get('comment_jcomments') && JFile::exists($file)) {
$db = EasyBlogHelper::db();
$query = 'SELECT COUNT(1) FROM ' . $db->nameQuote('#__jcomments') . ' ' . 'WHERE ' . $db->nameQuote('object_id') . '=' . $db->Quote($blogId) . ' ' . 'AND ' . $db->nameQuote('object_group') . '=' . $db->Quote('com_easyblog') . ' ' . 'AND ' . $db->nameQuote('published') . '=' . $db->Quote(1);
$db->setQuery($query);
$total = $db->loadResult();
return $total;
}
if ($config->get('comment_rscomments')) {
return false;
}
if ($config->get('comment_facebook')) {
return false;
}
// @task: Let's allow the plugin to also trigger the comment count.
$params = EasyBlogHelper::getRegistry();
$result = EasyBlogHelper::triggerEvent('easyblog.commentCount', $blog, $params, 0);
$count = trim(implode(" ", $result));
if (!empty($count)) {
//.........这里部分代码省略.........
示例14: display
function display($tpl = null)
{
// @rule: Test for user access if on 1.6 and above
if (EasyBlogHelper::getJoomlaVersion() >= '1.6') {
if (!JFactory::getUser()->authorise('easyblog.manage.user', 'com_easyblog')) {
JFactory::getApplication()->redirect('index.php', JText::_('JERROR_ALERTNOAUTHOR'), 'error');
JFactory::getApplication()->close();
}
}
//initialise variables
$document = JFactory::getDocument();
$mainframe = JFactory::getApplication();
$config = EasyBlogHelper::getConfig();
$id = JRequest::getInt('id');
$blogger = EasyBlogHelper::getTable('Profile', 'Table');
$blogger->load($id);
$post = EasyBlogHelper::getSession('EASYBLOG_REGISTRATION_POST');
$avatarIntegration = $config->get('layout_avatarIntegration', 'default');
$user = JFactory::getUser($id);
$isNew = $user->id == 0 ? true : false;
if ($isNew && !empty($post)) {
unset($post['id']);
$pwd = $post['password'];
unset($post['password']);
unset($post['password2']);
$user->bind($post);
$post['password'] = $pwd;
$blogger->bind($post);
}
jimport('joomla.html.pane');
$feedburner = EasyBlogHelper::getTable('Feedburner', 'Table');
$feedburner->load($id);
JTable::addIncludePath(EBLOG_TABLES);
//twitter
$twitter = EasyBlogHelper::getTable('Oauth', 'Table');
$twitter->loadByUser($user->id, EBLOG_OAUTH_TWITTER);
//linkedin
$linkedin = EasyBlogHelper::getTable('Oauth', 'Table');
$linkedin->loadByUser($user->id, EBLOG_OAUTH_LINKEDIN);
//facebook
$facebook = EasyBlogHelper::getTable('Oauth', 'Table');
$facebook->loadByUser($user->id, EBLOG_OAUTH_FACEBOOK);
$adsense = EasyBlogHelper::getTable('Adsense', 'Table');
$adsense->load($id);
if ($isNew && !empty($post)) {
$feedburner->url = $post['feedburner_url'];
$twitter->message = $post['integrations_twitter_message'];
$twitter->auto = $post['integrations_twitter_auto'];
$linkedin->auto = $post['integrations_linkedin_auto'];
$linkedin->private = isset($post['integrations_linkedin_private']) ? $post['integrations_linkedin_private'] : false;
$facebook->auto = $post['integrations_facebook_auto'];
$adsense->published = $post['adsense_published'];
$adsense->code = $post['adsense_code'];
$adsense->display = $post['adsense_display'];
}
if (EasyBlogHelper::getJoomlaVersion() >= '1.6') {
require_once JPATH_ROOT . DIRECTORY_SEPARATOR . 'administrator' . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_users' . DIRECTORY_SEPARATOR . 'models' . DIRECTORY_SEPARATOR . 'user.php';
$jUserModel = new UsersModelUser();
$form = $jUserModel->getForm();
$form->setValue('password', null);
$form->setValue('password2', null);
$this->assignRef('form', $form);
}
$joomla_date = EasyBlogHelper::getJoomlaVersion() <= '1.5' ? '%Y-%m-%d %H:%M:%S' : 'Y-m-d H:i:s';
$editor = JFactory::getEditor($config->get('layout_editor', 'tinymce'));
$userParams = $user->getParameters(true);
$bloggerRawParams = $blogger->getParams();
if (is_array($bloggerRawParams)) {
$bloggerRawParams = '';
}
$bloggerParams = EasyBlogHelper::getRegistry($bloggerRawParams);
$this->assignRef('bloggerParams', $bloggerParams);
$this->assignRef('editor', $editor);
$this->assignRef('dateFormat', $joomla_date);
$this->assignRef('config', $config);
$this->assignRef('pane', $pane);
$this->assignRef('feedburner', $feedburner);
$this->assignRef('adsense', $adsense);
$this->assignRef('twitter', $twitter);
$this->assignRef('facebook', $facebook);
$this->assignRef('linkedin', $linkedin);
$this->assignRef('blogger', $blogger);
$this->assignRef('user', $user);
$this->assignRef('isNew', $isNew);
$this->assignRef('params', $userParams);
$this->assignRef('avatarIntegration', $avatarIntegration);
$this->assignRef('post', $post);
parent::display($tpl);
}
示例15:
?>
</a>
<?php
echo EasyBlogHelper::getHelper('AUP')->getPoints($blogger->id);
?>
<?php
echo EasyBlogHelper::getHelper('EasySocial')->getPoints($blogger->id);
?>
<?php
if ($system->config->get('main_google_profiles')) {
?>
<?php
$params = EasyBlogHelper::getRegistry();
$params->load($blogger->get('params'));
$googleURL = $params->get('google_profile_url');
if (!empty($googleURL) && $params->get('show_google_profile_url')) {
?>
( <a href="<?php
echo $this->escape($googleURL);
?>
" rel="author" <?php
echo $params->get('show_google_profile_url') ? '' : 'style="display: none;"';
?>
><?php
echo JText::_('COM_EASYBLOG_VIEW_BLOGGER_ON_GOOGLE');
?>
</a> )
<?php