Exemplo n.º 1
0
 /**
  * Add Attachment button
  *
  * @return a button
  */
 function onDisplay($name)
 {
     // Avoid displaying the button for anything except content articles
     global $option;
     if ($option != 'com_content') {
         return new JObject();
     }
     // Get the article ID
     $cid = JRequest::getVar('cid', array(0), '', 'array');
     $id = 0;
     if (count($cid) > 0) {
         $id = intval($cid[0]);
     }
     if ($id == 0) {
         $nid = JRequest::getVar('id', null);
         if (!is_null($nid)) {
             $id = intval($nid);
         }
     }
     // Create the button object
     $button = new JObject();
     // Load the language file from the backend
     $lang =& JFactory::getLanguage();
     $lang->load('plg_frontend_attachments', JPATH_ADMINISTRATOR);
     // ??? Where is the tooltip coming from?
     // (Would like to use different tip for create article button)
     // Figure out where we are and construct the right link and set
     // up the style sheet (to get the visual for the button working)
     global $mainframe;
     $doc =& JFactory::getDocument();
     if ($mainframe->isAdmin()) {
         if ($id == 0) {
             // New article, explain that we can't add attachments until it is saved
             // Load the language file from the frontend
             $lang =& JFactory::getLanguage();
             $lang->load('com_attachments', JPATH_SITE);
             // Save the warning message for the pop-up window
             require_once JPATH_BASE . DS . '..' . DS . 'components' . DS . 'com_attachments' . DS . 'helper.php';
             $msg = JText::_('SAVE ARTICLE BEFORE ATTACHING') . "  " . JText::_('TRY APPLY BUTTON FIRST');
             AttachmentsHelper::save_warning_message($msg);
             $button->set('options', "{handler: 'iframe', size: {x: 400, y: 300}}");
             $link = "index.php?option=com_attachments&task=warning&tmpl=component";
         } else {
             $button->set('options', "{handler: 'iframe', size: {x: 800, y: 530}}");
             $link = "index.php?option=com_attachments&task=add&article_id={$id}&from=closeme";
         }
         $doc->addStyleSheet($mainframe->getSiteURL() . 'plugins/editors-xtd/add_attachment.css', 'text/css', null, array());
     } else {
         if ($id == 0) {
             // Load the language file from the frontend
             $lang =& JFactory::getLanguage();
             $lang->load('com_attachments', JPATH_SITE);
             // Save the warning message for the pop-up window
             require_once JPATH_BASE . DS . 'components' . DS . 'com_attachments' . DS . 'helper.php';
             $msg = JText::_('SAVE ARTICLE BEFORE ATTACHING');
             AttachmentsHelper::save_warning_message($msg);
             // New article, explain we can't add attachments until it is saved
             $button->set('options', "{handler: 'iframe', size: {x: 400, y: 300}}");
             $link = "index.php?option=com_attachments&task=warning&tmpl=component";
         } else {
             $button->set('options', "{handler: 'iframe', size: {x: 700, y: 530}}");
             $link = "index.php?option=com_attachments&task=upload&artid={$id}&from=closeme";
         }
         $doc->addStyleSheet(JURI::Base() . 'plugins/editors-xtd/add_attachment.css', 'text/css', null, array());
     }
     $button->set('modal', true);
     $button->set('class', 'modal');
     $button->set('text', JText::_('ADD ATTACHMENT'));
     $button->set('name', 'add_attachment');
     $button->set('link', $link);
     $button->set('image', 'add_attachment.png');
     return $button;
 }