Esempio n. 1
0
 /**
  * Optionally removes the edit and delete links from the menu
  *
  * @param string $hook_name    name of the hook
  * @param string $entity_type  type of the hook
  * @param string $return_value current return value
  * @param array  $params       hook parameters
  *
  * @return array
  */
 public static function prepareWidgetEditDeleteMenuItems($hook_name, $entity_type, $return_value, $params)
 {
     if (!is_array($return_value)) {
         return;
     }
     $widget = elgg_extract('entity', $params);
     if ($widget->fixed && !elgg_in_context('default_widgets') && !elgg_is_admin_logged_in()) {
         foreach ($return_value as $section_key => $section) {
             foreach ($section as $item_key => $item) {
                 if (in_array($item->getName(), ['delete', 'settings'])) {
                     unset($return_value[$section_key][$item_key]);
                 }
             }
         }
     }
     foreach ($return_value as $section_key => $section) {
         foreach ($section as $item_key => $item) {
             if ($item->getName() == 'settings') {
                 $show_access = elgg_get_config('widget_show_access');
                 $item->setHref('ajax/view/widget_manager/widgets/settings?guid=' . $widget->getGUID() . '&show_access=' . $show_access);
                 unset($item->rel);
                 $item->{"data-colorbox-opts"} = '{"width": 750, "height": 500, "trapFocus": false}';
                 $item->addLinkClass('elgg-lightbox');
             }
             if ($item->getName() == 'collapse') {
                 if ($widget->widget_manager_collapse_disable === 'yes' && $widget->widget_manager_collapse_state !== 'closed') {
                     unset($return_value[$section_key][$item_key]);
                 } elseif ($widget->widget_manager_collapse_disable !== 'yes') {
                     $widget_is_collapsed = false;
                     $widget_is_open = true;
                     if (elgg_is_logged_in()) {
                         $widget_is_collapsed = widget_manager_check_collapsed_state($widget->guid, 'widget_state_collapsed');
                         $widget_is_open = widget_manager_check_collapsed_state($widget->guid, 'widget_state_open');
                     }
                     if (($widget->widget_manager_collapse_state === 'closed' || $widget_is_collapsed) && !$widget_is_open) {
                         $item->addLinkClass('elgg-widget-collapsed');
                     }
                 }
             }
             if ($item->getName() == 'delete') {
                 // dirty fix to prevent incorrect reregistration of add widget js action (see js/lib/ui.widgets.js line 120)
                 $item->addLinkClass('elgg-widget-multiple');
             }
         }
     }
     return $return_value;
 }
Esempio n. 2
0
File: widget.php Progetto: n8b/VMN
if ($widget->widget_manager_disable_widget_content_style == "yes") {
    $widget_class .= " widget_manager_disable_widget_content_style";
}
if ($widget->widget_manager_hide_header != "yes" || $can_edit) {
    $widget_header = <<<HEADER
\t\t<div class="elgg-widget-handle clearfix"><h3 class="elgg-widget-title">{$title}</h3>
\t\t{$controls}
\t\t</div>
HEADER;
}
$fixed_height = sanitize_int($widget->widget_manager_fixed_height, false);
$widget_body_class = "elgg-widget-content";
if ($widget->widget_manager_collapse_disable !== "yes") {
    $widget_is_collapsed = false;
    $widget_is_open = true;
    if (elgg_is_logged_in()) {
        $widget_is_collapsed = widget_manager_check_collapsed_state($widget->guid, "widget_state_collapsed");
        $widget_is_open = widget_manager_check_collapsed_state($widget->guid, "widget_state_open");
    }
    if (($widget->widget_manager_collapse_state === "closed" || $widget_is_collapsed) && !$widget_is_open) {
        $widget_body_class .= " hidden";
    }
}
$widget_body = "<div class='" . $widget_body_class . "'";
if ($fixed_height) {
    $widget_body .= " style='height: " . $fixed_height . "px; overflow-y: auto;'";
}
$widget_body .= " id='elgg-widget-content-" . $widget->guid . "'>";
$widget_body .= $content;
$widget_body .= "</div>";
echo elgg_view_module('widget', '', $widget_body, array('class' => $widget_class, 'id' => $widget_id, 'header' => $widget_header));
 /**
  * Return a boolean if the widget should show collapsed
  *
  * @return bool
  */
 public function showCollapsed()
 {
     if ($this->widget_manager_collapse_disable == 'yes') {
         return false;
     }
     $default = $this->widget_manager_collapse_state === 'closed';
     if (!elgg_is_logged_in()) {
         return $default;
     }
     if (widget_manager_check_collapsed_state($this->guid, 'widget_state_collapsed')) {
         return true;
     }
     if (widget_manager_check_collapsed_state($this->guid, 'widget_state_open')) {
         return false;
     }
     return $default;
 }