Example #1
0
 /**
  * Handler for folder deletion.
  *
  * @param mixed $handler_id The ID of the handler.
  * @param Array $args The argument list.
  * @param Array &$data The local request data.
  * @return boolean Indicating success
  */
 public function _handler_delete($handler_id, array $args, array &$data)
 {
     // Symlink support requires that we use actual URL topic object here
     $urltopics = midcom_core_context::get()->get_key(MIDCOM_CONTEXT_URLTOPICS);
     if ($urltopic = end($urltopics)) {
         $this->_topic = $urltopic;
     }
     $this->_topic->require_do('midgard:delete');
     $this->_topic->require_do('midcom.admin.folder:topic_management');
     if (array_key_exists('f_cancel', $_REQUEST)) {
         return new midcom_response_relocate('');
     }
     if (array_key_exists('f_submit', $_REQUEST)) {
         $nav = new midcom_helper_nav();
         $upper_node = $nav->get_node($nav->get_current_upper_node());
         if ($this->_process_delete_form()) {
             return new midcom_response_relocate($upper_node[MIDCOM_NAV_FULLURL]);
         }
     }
     $this->_request_data['topic'] = $this->_topic;
     // Add the view to breadcrumb trail
     $this->add_breadcrumb('__ais/folder/delete/', $this->_l10n->get('delete folder'));
     // Hide the button in toolbar
     $this->_node_toolbar->hide_item('__ais/folder/delete/');
     // Set page title
     $data['title'] = sprintf(midcom::get('i18n')->get_string('delete folder %s', 'midcom.admin.folder'), $data['topic']->extra);
     midcom::get('head')->set_pagetitle($data['title']);
     // Set the help object in the toolbar
     $help_toolbar = midcom::get('toolbars')->get_help_toolbar();
     $help_toolbar->add_help_item('delete_folder', 'midcom.admin.folder', null, null, 1);
     // Ensure we get the correct styles
     midcom::get('style')->prepend_component_styledir('midcom.admin.folder');
     // Add style sheet
     $this->add_stylesheet(MIDCOM_STATIC_URL . '/midcom.admin.folder/folder.css');
 }