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> ';
}
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();
}
}
}