AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.112
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/nice/administrator/components/com_mymaplocations/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/nice/administrator/components/com_mymaplocations/controller.php
<?php

/**
 * @version    4.6.2
 * @package     com_mymaplocations
 * @copyright   JoomUnited (C) 2011. All rights reserved.
 * @license     http://www.gnu.org/copyleft/gpl.html GNU/GPL
 * ****@author      joomunited - contact@joomunited.com
 */
// No direct access
defined('_JEXEC') or die;
 jimport('joomla.filesystem.folder');
class MyMaplocationsController extends JControllerLegacy {

    /**
     * Method to display a view.
     *
     * @param	boolean			$cachable	If true, the view output will be cached
     * @param	array			$urlparams	An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}.
     *
     * @return	JController		This object to support chaining.
     * @since	1.5
     */
    public function display($cachable = false, $urlparams = false) {
        require_once JPATH_COMPONENT . '/helpers/mymaplocations.php';
        // Load the submenu.
        MyMaplocationsBackendHelper::addSubmenu($this->input->get('view', 'locations'));
        $view = $this->input->get('view', 'locations');
        $this->input->set('view', $view);
        parent::display();

        return $this;
    }
    public function delete_log()
    {
     $app = JFactory::getApplication();
    $config=JFactory::getConfig();
		$db = JFactory::getDbo();
 $sql="select * from #__mymaplocations_statistics";
 $db->setQuery($sql);
 $items=$db->loadObjectList();
 	  $db = JFactory::getDbo();
    $query = $db->getQuery(true);
    $query->delete($db->quoteName('#__mymaplocations_statistics'));
    $db->setQuery($query);
    $result = $db->execute();
      $app->enqueueMessage(JText::_('COM_MYMAPLOCATIONS_LOG_ITEMS_DELETED'));
  	 $app->redirect('index.php?option=com_mymaplocations&view=statistics');
    }
    public function export_log_csv()
    {
     
    //ob_end_clean();
    $app = JFactory::getApplication();
    $config=JFactory::getConfig();
    $name=JApplicationHelper::stringURLSafe($config->get('sitename'));
    header("Content-type: text/csv; charset=utf-8");
    header("Content-Disposition: attachment; filename=".$name."_log.csv");
    header("Pragma: no-cache");
    header("Expires: 0");
    $output = fopen('php://output', 'w');
    fputcsv($output, array('id','term','month','year','catid','extension','hits'));
    JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_mymaplocations/models', 'MyMaplocationsModel');
    
		// Get the dbo
		$db = JFactory::getDbo();
 $sql="select * from #__mymaplocations_statistics";
 $db->setQuery($sql);
 $items=$db->loadObjectList();
 	foreach($items as $item)
		{
   		   fputcsv($output,array($item->id,$item->term,$item->month,$item->year,$item->catid,$item->extension,$item->hits), ",");
  }
  	  $app->close();die();
    }
     public function export_csv()
       {
    //ob_end_clean();
    $app = JFactory::getApplication();
    $config=JFactory::getConfig();
    $name=JApplicationHelper::stringURLSafe($config->get('sitename'));
    header("Content-type: text/csv; charset=utf-8");
    header("Content-Disposition: attachment; filename=".$name.".csv");
    header("Pragma: no-cache");
    header("Expires: 0");
    $output = fopen('php://output', 'w');
    		$db = JFactory::getDbo();
      $fdata=array('id','name','logo','icon','address','town','locationstate','country','postal','latitude','longitude','description','metakey','metadesc','contactlink','exturl','extlink','hours','phone','markercolor','language','category_title','tags');
       JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_mymaplocations/models', 'MyMaplocationsModel');
    
		// Get the dbo
		$db = JFactory::getDbo();

		// Get an instance of the generic articles model
		$model = JModelLegacy::getInstance('locations', 'MyMaplocationsModel', array('ignore_request' => true));

		// Set application parameters in model
		$app       = JFactory::getApplication();
		$model->setState('list.start', 0);
		$model->setState('list.limit', -1);
		$model->setState('filter.component', 'com_mymaplocations');
  $model->setState('filter.state', 1);
		$model->setState('list.ordering', 'a.ordering');
		$model->setState('list.direction', 'desc');
		$items = $model->getItems();
   	if(count($items[0]->extraFields)!=0)
		  {
      foreach($items[0]->extraFields as  $k=>$extraFields)
       {
          $fdata[]="extrafield___".$extraFields->name."___".$extraFields->type; 
       }
    }
    fputcsv($output,$fdata);
   
		foreach($items as $item)
		{
		   
		   $tag="";
		   $extra_field="";
		   if(count($item->tags->itemTags)!=0)
		   {
       foreach($item->tags->itemTags as $tags)
       {
          $tag.=$tags->title.":";
        }
        $tag=substr($tag,0,-1);
		   }
     		   $finaldata=array($item->id,str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->name),$item->logo,$item->icon,str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->address),str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->town),str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->locationstate),str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->country),str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->postal),$item->latitude,$item->longitude,str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->description),str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->metakey),str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->metadesc),str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->contactlink),str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->exturl),str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->extlink),str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->hours),str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->phone),$item->markercolor,$item->language,str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$item->category_title),str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$tag));
		   if(count($item->extraFields)!=0)
		   {
      foreach($item->extraFields as $extraFields)
       {
        if($extraFields->rawvalue!=null)
            {
            $finaldata[]=str_replace(array('"',",","\n", "\r"),array("'"," "," "," "),$extraFields->rawvalue);
            }    
        }
		   }
     

          fputcsv($output,$finaldata, ",");
		   }
    
    $app->close();die();
    }
     public function export_kml()
    {
    //ob_end_clean();
    $app = JFactory::getApplication();

    // Creates the Document.
    $dom = new DOMDocument('1.0', 'UTF-8');
    // Creates the root KML element and appends it to the root document.
    $node = $dom->createElementNS('http://www.opengis.net/kml/2.2', 'kml');
    $parNode = $dom->appendChild($node);

    // Creates a KML Document element and append it to the KML element.
    $dnode = $dom->createElement('Document');
    $docNode = $parNode->appendChild($dnode);
      $config=JFactory::getConfig();
     $name=JApplicationHelper::stringURLSafe($config->get('sitename'));
     
    header('Content-type: application/vnd.google-earth.kml+xml');
    header("Content-Disposition: attachment; filename=".$name.".kml");
    header("Pragma: no-cache");
    header("Expires: 0");
    JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_mymaplocations/models', 'MyMaplocationsModel');
    
		// Get the dbo
		$db = JFactory::getDbo();

		// Get an instance of the generic articles model
		$model = JModelLegacy::getInstance('locations', 'MyMaplocationsModel', array('ignore_request' => true));

		// Set application parameters in model
		$app       = JFactory::getApplication();
		$model->setState('list.start', 0);
		$model->setState('list.limit', -1);
		$model->setState('filter.component', 'com_mymaplocations');
        $model->setState('filter.state', 1);
		$model->setState('list.ordering', 'a.ordering');
		$model->setState('list.direction', 'desc');
		$items = $model->getItems();
	foreach($items as $item)
	{
	    $node = $dom->createElement('Placemark');
	     $placeNode = $docNode->appendChild($node);

  // Creates an id attribute and assign it the value of id column.
 $placeNode->setAttribute('id', 'placemark' . $item->id);

  // Create name, and description elements and assigns them the values of the name and address columns from the results.
  $nameNode = $dom->createElement('name',htmlentities($item->name));
  $placeNode->appendChild($nameNode);
  $address="";
  $data=array();
  if (!empty($item->address)) {
    $data[] = $item->address.'<br/>';
  }
            if (!empty($item->town)) {
                $data[] = $item->town;
            }
            if (!empty($item->locationstate)) {
                $data[] = ($item->locationstate) . '<br/>';
            }

            if (!empty($item->country)) {
                $data[] = ($item->country);
            }
            if (!empty($item->postal)) {
                $data[] = $item->postal;
            }
            $address.=str_replace('<br/>,', '<br>', implode(",", $data));
            if (!empty($item->phone)) {
                $address.='<br/><abbr title="Phone"><i class="icon-phone"></i></abbr>' . $item->phone;
            }
            if (!empty($item->description)) {
                $address.='<br/>'.strip_tags($item->description);
            }
  $descNode = $dom->createElement('description');
  $descNode->appendChild($dom->createCDATASection($address));
  $placeNode->appendChild($descNode);
  $barStyleNode = $dom->createElement('Style');
    $barStyleNode->setAttribute('id', 'barStyle');
    $barIconstyleNode = $dom->createElement('IconStyle');
    $barIconstyleNode->setAttribute('id', 'barIcon');
    $barIconNode = $dom->createElement('Icon');
    if($item->icon)
    {}
    else
    {
     $item->icon='images/icons/b1.png';
    }
    $barHref = $dom->createElement('href', JURI::root().$item->icon);
    $barIconNode->appendChild($barHref);
    $barIconstyleNode->appendChild($barIconNode);
    $barStyleNode->appendChild($barIconstyleNode);
    $docNode->appendChild($barStyleNode);
    $styleUrl = $dom->createElement('styleUrl', '#barStyle');
    $placeNode->appendChild($styleUrl);

  // Creates a Point element.
  $pointNode = $dom->createElement('Point');
  $placeNode->appendChild($pointNode);

  // Creates a coordinates element and gives it the value of the lng and lat columns from the results.
  $coorStr = $item->longitude . ','  .$item->latitude;
  $coorNode = $dom->createElement('coordinates', $coorStr);
  $pointNode->appendChild($coorNode);
	}
	$dom->preserveWhiteSpace = false;
	$dom->formatOutput = true;
    ob_clean();
	$kmlOutput = $dom->saveXML();
    echo $kmlOutput;die();
    }
    public function import_console()
    {
        JSession::checkToken() or die(Text::_('JINVALID_TOKEN_NOTICE'));
       
        $app = JFactory::getApplication();
        $input = JFactory::getApplication()->input;
        $extension_id = $input->getInt('id',0);
        $db=JFactory::getDBO();
        $sql="select  extension_id,element,folder from #__extensions where extension_id=".(int)$extension_id;
        $db->setQuery($sql);
        $res=$db->loadObject();
        if($res->element=="mymaplocations"&&$res->folder=="console")
        {
        $csv_file=$input->getString('csv_file','');
        $object = new stdClass();
        $object->extension_id = $extension_id;
        $data['csv_file']= $csv_file;
        $object->params=json_encode($data);
        $result = JFactory::getDbo()->updateObject('#__extensions', $object, 'extension_id', $updateNulls);
        $msg="Path Updated Successfully";
        $app->enqueueMessage($msg);
        }
        else
        {
            $msg="Error";
            $app->enqueueMessage($msg);
                
        }
        $app->redirect('index.php?option=com_mymaplocations&view=import');
    }
    public function import_csv()
    {
	JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_mymaplocations/models', 'MyMaplocationsModel');
		// Get an instance of the generic articles model
	$model = JModelLegacy::getInstance('location', 'MyMaplocationsModel', array('ignore_request' => true));
	$model->saveCsv();
    }
    public function import_kml()
    {
	JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_mymaplocations/models', 'MyMaplocationsModel');
		// Get an instance of the generic articles model
	$model = JModelLegacy::getInstance('locations', 'MyMaplocationsModel', array('ignore_request' => true));
	$model->saveKml();
    }
    public function sync()
    {
        require_once JPATH_SITE. '/components/com_mymaplocations/helpers/mymaplocations.php';
        $user=JFactory::getUser()->id;
        
        $db = JFactory::getDbo();
        $query = "UPDATE #__mymaplocations_location SET language = '*' Where language=''";
        $db->setQuery($query);
        $result = $db->execute();
        $db = JFactory::getDbo();
        $query="select * from #__mymaplocations_location where (alias IS NULL OR alias= '') OR (latitude=0 AND longitude=0)";
        $db->setQuery($query);
	$results = $db->loadObjectList();
        $address="";
	$query="select * from #__categories where extension='com_mymaplocations' AND published=1 ORDER BY id asc";
        $db->setQuery($query);
	$category = $db->loadObject();
        $msg="";
        foreach($results as $result)
        {
	    
            $query = $db->getQuery(true);
            $conditions=array();
            $fields=array();
            $address="";
	    if(($result->latitude)||($result->latitude==0))
            {
            if(!empty($result->address))
            {
            $address.=$result->address;
            }
            if(!empty($result->town))
            {
            $address.=" ".$result->town;
            }
            if(!empty($result->locationstate))
            {
            $address.=" ".$result->locationstate;
            }
            if(!empty($result->country))
            {
            $address.=" ".$result->country;
            }
            if(!empty($result->postal))
            {
            $address.=" ".$result->postal;
            }
	   
            if(!empty($address))
            {
				if(($result->latitude)&&($result->longitude))
				{
					$fields = array(
            $db->quoteName('latitude') . ' = '.$result->latitude,
            $db->quoteName('longitude') . ' = '.$result->longitude
            );
			
				}
				else
				{
            $address=str_replace('"', ' ', $address);
            $zip = @MyMaplocationsHelper::getLatLongFromPostcode($address);
            if(($zip['lat'])&&($zip['lang']))
			{
            $fields = array(
            $db->quoteName('latitude') . ' = '.$zip['lat'],
            $db->quoteName('longitude') . ' = '.$zip['lang']
            );
			}
			}
	    }
	    if(empty($result->alias))
		{
             $fields=array_merge($fields , array(
            $db->quoteName('alias') . ' = '.$db->quote($result->id.'-'.JApplicationHelper::stringURLSafe($result->name))));
	    }
	    if($result->catid==0)
	    {
		$fields= array_merge($fields , array($db->quoteName('catid') . ' = '.$category->id));
	    }
            $conditions = array($db->quoteName('id') . ' = '.$result->id);
	    if($fields)
	    {
            $query->update($db->quoteName('#__mymaplocations_location'))->set($fields)->where($conditions);
            $db->setQuery($query);
	    }
            $final = $db->execute();
            $msg.=$result->name." Updated <br/>";
	    }
        }
        if ((JFolder::exists(JPATH_SITE . '/components/com_hikamarket/'))) {
        JTable::addIncludePath(JPATH_ADMINISTRATOR.'/components/com_mymaplocations/tables');
            $plugin = JPluginHelper::getPlugin('hikamarket', 'mymaplocations');
            $params = new JRegistry($plugin->params);
            $query = $db->getQuery(true);
        $query->select($db->quoteName(array('extra_id')));
        $query->from('#__mymaplocations_location');
        $query->where(' component = ' . $db->Quote('com_hikamarket'));
        $db->setQuery($query);
	$data = $db->loadObjectList();
        $query = $db->getQuery(true);
        $query->select('*');
        $query->from('#__hikamarket_vendor');
        $query->where('vendor_published = 1' );
        if(!empty($data))
        {
            $arr=array();
            foreach($data as $dat)
            {
                $arr[]=$dat->extra_id;
            }
           $query->where("vendor_id NOT IN (".implode(',', $arr).")");
            
        }
        $db->setQuery($query);
	$results = $db->loadObjectList();
        foreach($results as $vendor)
        {
            $faddress="";
           $geo=array();
        $address=$params->get('vendor_address_column','vendor_address_street');
        $city=$params->get('vendor_city_column','vendor_address_city');
        $st=$params->get('vendor_state_column','vendor_address_state');
        $country=$params->get('vendor_country_column','vendor_address_country');
        $czip=$params->get('vendor_zip_column','vendor_address_post_code');
        $faddress=$vendor->$address;
        if(!empty($vendor->$city))
        {
        $faddress.=" ".$vendor->$city;
        }
        $sql = "select zone_name_english from #__hikashop_zone where zone_namekey=" . $db->Quote($vendor->$st);
		$db->setQuery($sql);
		$locstate= $db->loadObject();
        $locationstate=$locstate->zone_name_english;
        if(!empty($locationstate))
        {
        $faddress.=" ".$locationstate;
        }
        
	$sql = "select zone_name_english from #__hikashop_zone where zone_namekey=" . $db->Quote($vendor->$country);
	$db->setQuery($sql);
	$countr= $db->loadObject();
        if(!empty($countr))
        {
        $faddress.=" ".$countr->zone_name_english;
        }
        if(!empty($vendor->$czip))
        {
            
             $faddress.=" ".$vendor->$czip;
        }
            $geo=@MyMaplocationsHelper::getLatLongFromPostcode($faddress) ;
            
             $type = 'location';
	        $prefix = 'MyMaplocationsTable';
	        $config = array();
	        $table = JTable::getInstance($type, $prefix, $config);
		$mapdata['name'] = $vendor->vendor_id. '-' . $vendor->vendor_name;
		$mapdata['alias'] = $vendor->vendor_id . '-' . $vendor->vendor_name;
		$mapdata['component'] = 'com_hikamarket';
		$mapdata['extra_id'] = $vendor->vendor_id;
		$mapdata['latitude'] =$geo['lat'];
		$mapdata['longitude'] =$geo['lang'];	
		$table->bind($mapdata);
		if (!$table->check()) {
			JFactory::getApplication()->enqueueMessage($table->getError(), 'error');
		}
		if (!$table->store()) {
			JFactory::getApplication()->enqueueMessage($table->getError(), 'error');
		}
		 $msg.="Hikamarket ".$vendor->vendor_name." Updated <br/>";
        }
        }
	if ((JFolder::exists(JPATH_SITE . '/components/com_comprofiler/'))) {
	    JTable::addIncludePath(JPATH_ADMINISTRATOR.'/components/com_mymaplocations/tables');
	      $type = 'location';
	        $prefix = 'MyMaplocationsTable';
	        $config = array();
	$db = JFactory::getDBO();
        $query = $db->getQuery(true);
        $query->select($db->quoteName('params'));
        $query->from('#__comprofiler_plugin');
        $query->where(' element = ' . $db->quote('mymaplocations'));
        try{
				 $db->setQuery($query);
				}
						catch (Exception $e)
						{
		echo $e->getMessage();
            exit;						
						}
        $result= $db->loadObject();
        $param=json_decode($result->params,true);
         if(empty($param))
        {
            $param=parse_ini_string($result->params);
        }
        $usedefault=$param['usedefault'];
	if($usedefault==0)
        {
        $data=array();
       if(!empty($param['address']))
        $data[]=$param['address'];
        if(!empty($param['city']))
        $data[]=$param['city'];
        if(!empty($param['locationstate']))
        $data[]=$param['locationstate'];
        if(!empty($param['country']))
        $data[]=$param['country'];
        if(!empty($param['postal']))
        $data[]=$param['postal'];
        $sql = "SELECT name from  #__comprofiler_fields where fieldid IN (".implode(',', $data).") ORDER BY FIELD( fieldid,".implode(',', $data).")";
	$db->setQuery($sql);
	$fieldDatas = $db->loadObjectList();
	$query = $db->getQuery(true);
        $query->select($db->quoteName(array('extra_id')));
        $query->from('#__mymaplocations_location');
        $query->where(' component = ' . $db->Quote('com_comprofiler'));
        $db->setQuery($query);
	$data = $db->loadObjectList();
        $query = $db->getQuery(true);
        $query->select('*');
        $query->from('#__comprofiler');
        if(!empty($data))
        {
            $arr=array();
            foreach($data as $dat)
            {
                $arr[]=$dat->extra_id;
            }
           $query->where("user_id NOT IN (".implode(',', $arr).")");
            
        }
        $db->setQuery($query);
	$results = $db->loadObjectList();
	
        foreach($results as $vendor)
        {
            $faddress="";
           $geo=array();
	   foreach($fieldDatas as $field)
	   {
	    $fname=$field->name;
	    $faddress.=$vendor->$fname." ";
	   }
	  
        $geo=@MyMaplocationsHelper::getLatLongFromPostcode($faddress) ;    
           
		
		
		if(($geo['lat'])&&($geo['lang']))
		{
		$mapdata=array();
		$mapdata['name'] = $vendor->user_id. '-' . $vendor->firstname;
		$mapdata['alias'] = $vendor->user_id. '-' . $vendor->firstname;
		$mapdata['component'] = 'com_comprofiler';
		$mapdata['extra_id'] = $vendor->user_id;
		$mapdata['latitude'] =$geo['lat'];
		$mapdata['longitude'] =$geo['lang'];
		 $table = JTable::getInstance($type, $prefix, $config);
		$table->bind($mapdata);
		if (!$table->check()) {
			JFactory::getApplication()->enqueueMessage($table->getError(), 'error');
		}
		if (!$table->store()) {
			JFactory::getApplication()->enqueueMessage($table->getError(), 'error');
		}
		 $msg.="Community Builder user updated ".$vendor->firstname." Updated <br/>";
		}
        }
        
	}
	}
        
     $msg.="<br/>".JText::_('COM_MYMAPLOCATIONS_DATA_UPDATED');
        $mainframe = JFactory::getApplication();
        $mainframe->enqueueMessage(JText::_($msg));
		$mainframe->redirect('index.php?option=com_mymaplocations&view=locations');
    }
    public function overridehelper()
	{
		jimport('joomla.filesystem.folder');
        jimport('joomla.filesystem.file');
		$app=JFactory::getApplication();
		$document=JFactory::getDocument();
        $db=JFactory::getDbo();
        $sql="select * from #__template_styles where client_id=0 and home=1";
        $db->setQuery($sql);
        $result=$db->loadObject();
        $tpath=JPATH_SITE."/templates/".$result->template."/html/com_mymaplocations/mymaplocations.php";
		$cpath=JPATH_SITE."/components/com_mymaplocations/helpers/mymaplocations.php";
  $msg=JText::_('COM_MYMAPLOCATIONS_FORM_LBL_HELPER_EXIST');
  $app->enqueueMessage(JText::_($msg));
  if(JFolder::create(JPATH_SITE."/templates/".$result->template."/html/com_mymaplocations/")) {
			}
  		JFile::copy($cpath,$tpath);
			$app->redirect($_SERVER['HTTP_REFERER']);
	}
}

Anon7 - 2022
AnonSec Team