| Server IP : 54.36.91.62 / Your IP : 216.73.217.94 Web Server : Apache System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : coopiak ( 151928) PHP Version : 8.3.23 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/coopiak/amisdesseniors-fr/annonces/components/com_djclassifieds/views/profile/ |
Upload File : |
<?php
/**
* @package DJ-Classifieds
* @copyright Copyright (C) DJ-Extensions.com, All rights reserved.
* @license http://www.gnu.org/licenses GNU/GPL
* @author url: http://dj-extensions.com
* @author email contact@dj-extensions.com
*/
defined ('_JEXEC') or die('Restricted access');
class DJClassifiedsViewProfile extends JViewLegacy
{
private static $_viewname = 'profile';
public function __construct($config = array())
{
parent::__construct($config);
$par = JFactory::getApplication()->getParams('com_djclassifieds');
$this->_addPath('template', JPATH_ROOT.'/components/com_djclassifieds/themes/'.$par->get('theme','default').'/views/'.self::$_viewname);
}
function display($tpl = null)
{
$app = JFactory::getApplication();
$document = JFactory::getDocument();
$user = JFactory::getUser();
$par = $app->getParams('com_djclassifieds');
$model = $this->getModel();
require_once(JPATH_ROOT.'/components/com_djclassifieds/models/items.php');
$items_model = new DjclassifiedsModelItems();
$uid = $app->input->getInt('uid', 0);
if(!$uid && !$user->id){
DJClassifiedsSEO::redirectLogIn();
}
$this->own_profile = ($uid && $user->id && $uid == $user->id) || (!$uid && $user->id) ? true : false;
if(!$uid){
$uid = $user->id;
$app->input->set('uid', $uid); // for items model
}
// removing [none] sort opt
DJClassifiedsTheme::removeNoneParamOpt('blog_sorting_fields', $par);
DJClassifiedsTheme::removeNoneParamOpt('table_smart_sorting_fields', $par);
$items = $items_model->getItems();
$countitems = $items_model->getCountItems();
$profile = $model->getProfile($uid, false, $par);
$country = '';
$city = '';
$address = '';
if(!empty($profile['details']->region_id)){
$reg_parts = DJClassifiedsRegion::getRegionParts($profile['details']->region_id);
if($reg_parts){
$country = $reg_parts['country'];
$city = $reg_parts['city'];
$address = $reg_parts['reg_path'];
}
}
$meta_desc = DJClassifiedsField::getFieldValue($par->get('seo_profile_metadesc', ''), $uid);
if($meta_desc){
$document->setDescription($meta_desc);
}
if($par->get('seo_profile_metarobots','')){
$document->setMetaData('robots',$par->get('seo_profile_metarobots',''));
}
if($par->get('seo_canonical_tags','1')){
$document->addHeadLink(JRoute::_($profile['uri'], true, (JUri::getInstance()->isSSL() ? 1 : -1)), 'canonical');
}
$c_title = $document->getTitle();
$seo_title_separator = $par->get('seo_title_separator', ' - ');
$seo_title_from = array('|','<default_title>','<profile_name>');
$seo_title_to = array($seo_title_separator,$c_title,$profile['name']);
$seo_title = str_ireplace($seo_title_from, $seo_title_to, $par->get('seo_title_profile', '<profile_name>|<default_title>'));
if($seo_title){
$document->setTitle($seo_title);
}
if($par->get('show_types','0')){ // view backward compatibility
$this->types = DJClassifiedsType::getTypes();
}
if($profile['img']){
$img_path = $profile['img']->path.$profile['img']->name.'.'.$profile['img']->ext;
$document->addCustomTag('<meta property="og:image" content="'.JURI::root().ltrim($img_path,'/').'" />');
$path = JPath::clean(JPATH_ROOT . $img_path);
$size = @getimagesize($path);
if(isset($size[0])){
$document->addCustomTag('<meta property="og:image:width" content="'.$size[0].'" />');
}
if(isset($size[1])){
$document->addCustomTag('<meta property="og:image:height" content="'.$size[1].'" />');
}
}
$terms_link = '';
if($par->get('terms',1)>0 && $par->get('terms_article_id',0)>0){
$terms_link = $model->getTermsLink($par->get('terms_article_id',0), $par->get('terms',0)==2);
}
$privacy_policy_link = '';
if($par->get('privacy_policy',0)>0 && $par->get('privacy_policy_article_id',0)>0){
$privacy_policy_link = $model->getTermsLink($par->get('privacy_policy_article_id',0), $par->get('privacy_policy',0)==2);
}
$limit = $app->input->getInt('limit', $par->get('limit_djitem_show','7'));
$limitstart = $app->input->getInt('limitstart', 0);
$pagination = new JPagination($countitems, $limitstart, $limit);
/* plugins */
$app->triggerEvent('onDJClassifiedsPrepareProfile', array(&$profile, &$par, 'profile'));
$profile['event'] = new stdClass();
$profile['event']->onBeforeDJClassifiedsDisplayProfile = trim(implode("\n", $app->triggerEvent('onBeforeDJClassifiedsDisplayProfile', array(&$profile, &$par, 'profile'))));
$profile['event']->onAfterDJClassifiedsDisplayProfile = trim(implode("\n", $app->triggerEvent('onAfterDJClassifiedsDisplayProfile', array(&$profile, &$par, 'profile'))));
$profile['event']->onAfterDJClassifiedsDisplayProfileItems = trim(implode("\n", $app->triggerEvent('onAfterDJClassifiedsDisplayProfileItems', array(&$profile, &$par, 'profile'))));
$profile['event']->onBeforeDJClassifiedsDisplayProfileMap = trim(implode("\n", $app->triggerEvent('onBeforeDJClassifiedsDisplayProfileMap', array(&$profile, &$par, 'profile'))));
$profile['event']->accessContactFormBtn = trim(implode("\n", $app->triggerEvent('onDJClassifiedsAccessContactFormBtn', array(&$profile, &$par, 'profile'))));
$profile['event']->accessContactForm = trim(implode("\n", $app->triggerEvent('onDJClassifiedsAccessContactForm', array(&$profile, &$par, 'profile'))));
$event_view = 'profile.items';
foreach($items as $item){
$app->triggerEvent('onPrepareItemDescription', array(&$item, &$par, 'items'));
$item->event = new stdClass();
$item->event->afterDJClassifiedsDisplayTitle = trim(implode("\n", $app->triggerEvent('onAfterDJClassifiedsDisplayTitle', array(&$item, &$par, $event_view))));
$item->event->beforeDJClassifiedsDisplayContent = trim(implode("\n", $app->triggerEvent('onBeforeDJClassifiedsDisplayContent', array(&$item, &$par, $event_view))));
$item->event->afterDJClassifiedsDisplayContent = trim(implode("\n", $app->triggerEvent('onAfterDJClassifiedsDisplayContent', array(&$item, &$par, $event_view))));
$item->event->DJClassifiedsDisplayCategory = trim(implode("\n", $app->triggerEvent('onDJClassifiedsDisplayCategory', array(&$item, &$par, $event_view))));
$item->event->DJClassifiedsDisplayRegion = trim(implode("\n", $app->triggerEvent('onDJClassifiedsDisplayRegion', array(&$item, &$par, $event_view))));
}
if($par->get('ask_seller_in','0')=='1'){ // is ask form set to be displayed in item only
$par->set('ask_seller','0');
}
DJClassifiedsTheme::includeCalendarScripts();
DJClassifiedsTheme::includeMapsScript($par);
JHTML::_('bootstrap.tooltip');
\Joomla\CMS\HTML\HTMLHelper::_('bootstrap.modal'); // show_in_modal fields
DJClassifiedsSEO::setSiteNameInPageTitle();
$this->page_heading = DJClassifiedsSEO::getPageHeading($par);
$this->anch = $par->get('showitem_jump',0) ? '#dj-classifieds' : '';
$this->items = $items;
$this->custom_fields = $items_model->getListCustomFields(); // view backward compatibility
$this->countitems = $countitems;
$this->sort_fields = DJClassifiedsField::getSortFields();
$this->profile = $profile;
$this->pagination = $pagination;
$this->country = $country;
$this->city = $city;
$this->address = $address;
$this->terms_link = $terms_link;
$this->privacy_policy_link = $privacy_policy_link;
$this->main_cat = null;
$this->is_main_cat = false;
$this->dispatcher = new DJClassifiedsDispatcher(); // backward compatibility
$this->par = $par;
parent::display($tpl);
}
}