Current File : /home/pacjaorg/public_html/kmm/plugins/djclassifieds/files/files.php
<?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' );

require_once __DIR__.'/helper.php';
require_once(JPATH_ROOT.'/administrator/components/com_djclassifieds/lib/djtheme.php');
require_once __DIR__.'/lib/djfilesupload.php';

class plgDJClassifiedsFiles extends JPlugin
{
	public function __construct(&$subject, $config)
	{
		parent::__construct($subject, $config);
		$this->loadLanguage();
	}
	
	function onAdminItemEditTabTitle($item)
	{
		$tab_title = '';
		if($this->params->get('uploader_in_items', true)){
			//$tab_title = '<li><a href="#files" data-toggle="tab">'.JText::_('COM_DJCLASSIFIEDS_ATTACHMENTS').' <span class="badge">'.DJClassifiedsFileHelper::getAttachmentCount($item->id, 'item').'</span></a></li>';
			$tab_title = JText::_('COM_DJCLASSIFIEDS_ATTACHMENTS').' <span class="badge">'.DJClassifiedsFileHelper::getAttachmentCount($item->id, 'item').'</span>';
		}
		return $tab_title;
	}

	function onAdminItemEditTabContent($item)
	{
		$tab_content = '';
		if($this->params->get('uploader_in_items', true)){
			//$tab_content = '<div class="tab-pane" id="files">';
				$tab_content .= DJClassifiedsFileHelper::renderInput('item',$item->id, (bool)$this->params->get('fed_multiple_file_upload', true),$this->params); 
			//$tab_content .= '</div>';
		}
		return $tab_content;
	}
	
	function onAfterDJClassifiedsSaveAdvert($row, $is_new)
	{
		if($this->params->get('uploader_in_items', true)){
			if (!DJClassifiedsFileHelper::saveFiles('item',$row, $this->params, $is_new)) {
				$app = JFactory::getApplication();
				$app->enqueueMessage(JText::_('COM_DJCLASSIFIEDS_ERROR_SAVING_FILES'),'error');
			}
		}
	}
	
	function onAfterAdminDJClassifiedsSaveAdvert($row, $is_new)
	{
		if($this->params->get('uploader_in_items', true)){
			if (!DJClassifiedsFileHelper::saveFiles('item',$row, $this->params, $is_new)) {
				$app = JFactory::getApplication();
				$app->enqueueMessage(JText::_('COM_DJCLASSIFIEDS_ERROR_SAVING_FILES'),'error');
			}
		}
	}
	
	function onItemEditFormSections($item)
	{
		$content = '';
		if($this->params->get('uploader_in_items', true)){
			$content = '<div class="prom_rows shippins_rows additem_djform">';
				$content .= '<div class="title_top">'.JText::_('COM_DJCLASSIFIEDS_ATTACHMENTS').'</div>';
				$content .= '<div class="additem_djform_in">';
					$content .= DJClassifiedsFileHelper::renderInput('item',$item->id, (bool)$this->params->get('fed_multiple_file_upload', true), $this->params);
			$content .= '</div></div>';
		}
		return $content;
	}
	
	function onAfterDJClassifiedsDisplayContent(&$item, &$par, $itemtype)
	{
		$content = null;			
		if($itemtype=='item' && $this->params->get('uploader_in_items', true)){
			$files = DJClassifiedsFileHelper::getFiles($itemtype, $item->id);
			if($files){									
				$content = '<div class="additional attachments">';
				$content .= '<h2>'.JText::_('COM_DJCLASSIFIEDS_ATTACHMENTS').'</h2>';
				$content .= '<ul>';
					foreach($files as $file) {
						$content .= '<li class="djc_file">';
							$content .= '<a target="_blank" class="" href="index.php?option=com_djclassifieds&task=download&fid='.$file->id.'">';
								$content .= '<span>'.htmlspecialchars($file->caption).'</span>';
							$content .= '</a>';
							if ($this->params->get('show_fileinfos_item', 1) > 0) {
								$content .= '<br /><span class="djc_filesize small">'.$file->ext.' | '.$file->size.' | '.$file->hits.' '.JText::_('COM_DJCLASSIFIEDS_FILE_HITS').'</span>';
							}
						$content .= '</li>';
					}
				$content .= '</ul>';
				$content .= '</div>';
			}									
		}
		return $content;
	}
	
	function onAdminProfileEditTabTitle($profile)
	{
		$tab_title = '';
		if($this->params->get('uploader_in_profile', false)){
			//$tab_title = '<li><a href="#files" data-toggle="tab">'.JText::_('COM_DJCLASSIFIEDS_ATTACHMENTS').' <span class="badge">'.DJClassifiedsFileHelper::getAttachmentCount($profile->user_id, 'profile').'</span></a></li>';
			$tab_title = JText::_('COM_DJCLASSIFIEDS_ATTACHMENTS').' <span class="badge">'.DJClassifiedsFileHelper::getAttachmentCount($profile->user_id, 'profile').'</span>';
		}
		return $tab_title;
	}

	function onAdminProfileEditTabContent($profile)
	{
		$tab_content = '';
		if($this->params->get('uploader_in_profile', false)){
			//$tab_content = '<div class="tab-pane" id="files">';
			$tab_content .= DJClassifiedsFileHelper::renderInput('profile',$profile->user_id, (bool)$this->params->get('fed_multiple_file_upload', true),$this->params);
			//$tab_content .= '</div>';
		}
		return $tab_content;
	}
	
	function onAfterAdminDJClassifiedsSaveProfile($juser)
	{
		if($this->params->get('uploader_in_profile', false)){
			$juser->alias = $juser->id;
			if (!DJClassifiedsFileHelper::saveFiles('profile',$juser, $this->params, false)) {
				$app 	= JFactory::getApplication();
				$app->enqueueMessage(JText::_('COM_DJCLASSIFIEDS_ERROR_SAVING_FILES'),'error');
			}
		}
	}
	
	function onProfileEditFormSections($profile, $custom_fields, $custom_values_c, $profile_image, $par)
	{
		$content = '';
		if($this->params->get('uploader_in_profile', false)){
			$content = '<div class="prom_rows shippins_rows additem_djform">';
				$content .= '<div class="title_top">'.JText::_('COM_DJCLASSIFIEDS_ATTACHMENTS').'</div>';
				$content .= '<div class="additem_djform_in">';
				$content .= '<div class="img_info"><div class="img_info_row">'.JText::_('COM_DJCLASSIFIEDS_ATTACHMENTS_PROFILE_INFO').'</div></div>';
				$content .= DJClassifiedsFileHelper::renderInput('profile',$profile->user_id, (bool)$this->params->get('fed_multiple_file_upload', true),$this->params);
			$content .= '</div></div>';
		}
		return $content;
	}

	function onRegistrationEditFormSections($custom_fields_groups, $par)
	{
		$content = '';
		if($this->params->get('uploader_in_registration', false)){
			$content = '<div class="prom_rows shippins_rows additem_djform">';
				$content .= '<div class="title_top">'.JText::_('COM_DJCLASSIFIEDS_ATTACHMENTS').'</div>';
				$content .= '<div class="additem_djform_in">';
				$content .= '<div class="img_info"><div class="img_info_row">'.JText::_('COM_DJCLASSIFIEDS_ATTACHMENTS_PROFILE_INFO').'</div></div>';
				$content .= DJClassifiedsFileHelper::renderInput('profile', null, (bool)$this->params->get('fed_multiple_file_upload', true), $this->params);
			$content .= '</div></div>';
		}
		return $content;
	}

	function onAfterDJClassifiedsSaveProfile($user)
	{
		if($this->params->get('uploader_in_profile', false)){
			$user->alias = $user->id;
			if (!DJClassifiedsFileHelper::saveFiles('profile',$user, $this->params, false)) {
				$app = JFactory::getApplication();
				$app->enqueueMessage(JText::_('COM_DJCLASSIFIEDS_ERROR_SAVING_FILES'),'error');
			}else{
				if($this->params->get('profile_admin_email', '0')){
					DJClassifiedsFileHelper::sendEmail($user);
				}
			}
		}
	}

	function onAfterDJClassifiedsSaveUser(&$data, $user_id)
	{
		if($this->params->get('uploader_in_registration', false)){
			$user = JFactory::getUser($user_id);
			$user->alias = $user->id;
			if (!DJClassifiedsFileHelper::saveFiles('profile',$user, $this->params, false)) {
				$app = JFactory::getApplication();
				$app->enqueueMessage(JText::_('COM_DJCLASSIFIEDS_ERROR_SAVING_FILES'),'error');
			}else{
				if($this->params->get('profile_admin_email', '0')){
					DJClassifiedsFileHelper::sendEmail($user);
				}
			}
		}
	}
	
	function onAfterDJClassifiedsAdminDisplayProfilesName($item)
	{
		$db = JFactory::getDBO();
		$query = "SELECT * FROM #__djcf_files WHERE type='profile' AND item_id=".$item->id." ORDER BY id";
		$db->setQuery($query);
		$files = $db->loadObjectList();

		$content = '';
		foreach($files as $file){
			$content .= '<a class="att" href="index.php?option=com_djclassifieds&format=raw&task=download&fid='.$file->id.'" taget="_blank"><span class="icon icon-attachment" title="'.addslashes(($file->caption ? $file->caption : '')).'"></span></a>&nbsp;';
		}
		return $content;
	}

	function onAfterDJClassifiedsDeleteAdvert($item)
	{
		$db = JFactory::getDBO();
		$query = "SELECT * FROM #__djcf_files WHERE item_id=".$item->id." AND type='item'";
		$db->setQuery($query);
		$files = $db->loadObjectList();

		foreach($files as $file){
			if(JFile::exists(JPATH_ROOT.'/components/com_djclassifieds/files/'.$file->fullpath)){
				JFile::delete(JPATH_ROOT.'/components/com_djclassifieds/files/'.$file->fullpath);
			}
			
			$query = "DELETE FROM #__djcf_files WHERE id=".$file->id;
			$db->setQuery($query);
			$db->execute();
		}
	}

	function onAfterDJClassifiedsDeleteProfile($uid)
	{
		$db = JFactory::getDBO();
		$query = "SELECT * FROM #__djcf_files WHERE item_id=".$uid." AND type='profile'";
		$db->setQuery($query);
		$files = $db->loadObjectList();

		foreach($files as $file){
			if(JFile::exists(JPATH_ROOT.'/components/com_djclassifieds/files/'.$file->fullpath)){
				JFile::delete(JPATH_ROOT.'/components/com_djclassifieds/files/'.$file->fullpath);
			}

			$query = "DELETE FROM #__djcf_files WHERE id=".$file->id;
			$db->setQuery($query);
			$db->execute();
		}
	}
}
Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!