130 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Attachments component
 | |
|  *
 | |
|  * @package Attachments
 | |
|  * @subpackage Attachments_Component
 | |
|  *
 | |
|  * @copyright Copyright (C) 2007-2018 Jonathan M. Cameron, All Rights Reserved
 | |
|  * @license http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
 | |
|  * @link http://joomlacode.org/gf/project/attachments/frs/
 | |
|  * @author Jonathan M. Cameron
 | |
|  */
 | |
| 
 | |
| // no direct access
 | |
| defined( '_JEXEC' ) or die('Restricted access');
 | |
| 
 | |
| // Access check.
 | |
| if ( !( JFactory::getUser()->authorise('core.edit', 'com_attachments') OR
 | |
| 		JFactory::getUser()->authorise('core.edit.own', 'com_attachments') ) )
 | |
| {
 | |
| 	return JError::raiseError(404, JText::_('JERROR_ALERTNOAUTHOR') . ' (ERR 177)');
 | |
| }
 | |
| 
 | |
| /** Define the legacy classes, if necessary */
 | |
| require_once(JPATH_SITE.'/components/com_attachments/legacy/view.php');
 | |
| 
 | |
| /** Load the Attachments helper */
 | |
| require_once(JPATH_SITE.'/components/com_attachments/helper.php');
 | |
| 
 | |
| /** Include the Attachments javascript classes */
 | |
| require_once(JPATH_SITE.'/components/com_attachments/javascript.php');
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * HTML View class for editing new attachments
 | |
|  *
 | |
|  * @package Attachments
 | |
|  */
 | |
| class AttachmentsViewEdit extends JViewLegacy
 | |
| {
 | |
| 	/**
 | |
| 	 * Display the edit view
 | |
| 	 */
 | |
| 	public function display($tpl = null)
 | |
| 	{
 | |
| 		// For convenience
 | |
| 		$attachment = $this->attachment;
 | |
| 
 | |
| 		// Prevent unallowed editing
 | |
| 		if (!$this->attachment->parent->userMayEditAttachment($attachment))
 | |
| 		{
 | |
| 			$errmsg = JText::_('ATTACH_ERROR_NO_PERMISSION_TO_EDIT');
 | |
| 			return JError::raiseError(403, $errmsg . ' (ERR 178)');
 | |
| 		}
 | |
| 
 | |
| 		// Construct derived data
 | |
| 		$attachment->parent_entity_name = JText::_('ATTACH_' . $attachment->parent_entity);
 | |
| 		if (!isset($attachment->modifier_name))
 | |
| 		{
 | |
| 			AttachmentsHelper::addAttachmentUserNames($attachment);
 | |
| 		}
 | |
| 
 | |
| 		// Compute the attachment size in kB
 | |
| 		$attachment->size_kb = (int)( 10 * $attachment->file_size / 1024.0 ) / 10.0;
 | |
| 
 | |
| 		// set up lists for form controls
 | |
| 		$this->lists = array();
 | |
| 		$this->lists['published'] = JHtml::_('select.booleanlist', 'state',
 | |
| 									   'class="inputbox"', $attachment->state);
 | |
| 		$this->lists['url_valid'] = JHtml::_('select.booleanlist', 'url_valid',
 | |
| 									   'class="inputbox" title="' . JText::_('ATTACH_URL_IS_VALID_TOOLTIP') . '"',
 | |
| 									   $attachment->url_valid);
 | |
| 
 | |
| 		// Construct the drop-down list for legal icon filenames
 | |
| 		$icon_filenames = array();
 | |
| 		require_once(JPATH_COMPONENT_SITE.'/file_types.php');
 | |
| 		foreach ( AttachmentsFileTypes::unique_icon_filenames() as $ifname)
 | |
| 		{
 | |
| 			$icon_filenames[] = JHtml::_('select.option', $ifname);
 | |
| 		}
 | |
| 		$this->lists['icon_filenames'] =JHtml::_('select.genericlist',	 $icon_filenames,
 | |
| 												 'icon_filename', 'class="inputbox" size="1"', 'value', 'text',
 | |
| 												 $attachment->icon_filename);
 | |
| 
 | |
| 		// If switching from article to URL default url_verify to true
 | |
| 		if (($attachment->uri_type == 'file') AND ($this->update == 'url')) {
 | |
| 			$attachment->url_verify = true;
 | |
| 			}
 | |
| 
 | |
| 		// Set up for checkboxes
 | |
| 		$this->relative_url_checked = $attachment->url_relative ? 'checked="yes"' : '';
 | |
| 		$this->verify_url_checked = $attachment->url_verify ? 'checked="yes"' : '';
 | |
| 
 | |
| 		// Set up some tooltips
 | |
| 		$this->enter_url_tooltip = JText::_('ATTACH_ENTER_URL') . '::' . JText::_('ATTACH_ENTER_URL_TOOLTIP');
 | |
| 		$this->display_filename_tooltip = JText::_('ATTACH_DISPLAY_FILENAME') . '::' . JText::_('ATTACH_DISPLAY_FILENAME_TOOLTIP');
 | |
| 		$this->display_url_tooltip = JText::_('ATTACH_DISPLAY_URL') . '::' . JText::_('ATTACH_DISPLAY_URL_TOOLTIP');
 | |
| 		$this->download_count_tooltip = JText::_('ATTACH_NUMBER_OF_DOWNLOADS') . '::' . JText::_('ATTACH_NUMBER_OF_DOWNLOADS_TOOLTIP');
 | |
| 
 | |
| 		// Set up mootools/modal
 | |
| 		AttachmentsJavascript::setupModalJavascript();
 | |
| 
 | |
| 		// Add the style sheets
 | |
| 		JHtml::stylesheet('com_attachments/attachments_admin_form.css', Array(), true);
 | |
| 		$lang = JFactory::getLanguage();
 | |
| 		if ( $lang->isRTL() ) {
 | |
| 			JHtml::stylesheet('com_attachments/attachments_admin_form_rtl.css', Array(), true);
 | |
| 			}
 | |
| 
 | |
| 		// Set the toolbar
 | |
| 		$this->addToolBar();
 | |
| 
 | |
| 		// Display the form
 | |
| 		parent::display($tpl);
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Setting the toolbar
 | |
| 	 */
 | |
| 	protected function addToolBar()
 | |
| 	{
 | |
| 		JRequest::setVar('hidemainmenu', true);
 | |
| 		JToolBarHelper::title(JText::_('ATTACH_EDIT_ATTACHMENT'));
 | |
| 
 | |
| 		JToolBarHelper::apply('attachment.apply');
 | |
| 		JToolBarHelper::save('attachment.save');
 | |
| 		JToolBarHelper::cancel('attachment.cancel', 'JTOOLBAR_CLOSE');
 | |
| 	}
 | |
| }
 |