Ejemplo n.º 1
0
 /**
  * Checks if version widget was already added
  * @return boolean
  */
 static function isAdded()
 {
     $widgets = elgg_get_widgets(ELGG_ENTITIES_ANY_VALUE, 'admin');
     foreach ($widgets as $column) {
         foreach ($column as $item) {
             if ($item->handler == 'version') {
                 return true;
             }
         }
     }
     return false;
 }
Ejemplo n.º 2
0
/**
 * Output a single column of widgets.
 *
 * @param ElggUser $user        The owner user entity.
 * @param string   $context     The context (profile, dashboard, etc.)
 * @param int      $column      Which column to output.
 * @param bool     $show_access Show the access control (true by default)
 */
function elgg_view_widgets($user, $context, $column, $show_access = true)
{
    $widgets = elgg_get_widgets($user->guid, $context);
    $column_widgets = $widgets[$column];
    $column_html = "<div class=\"elgg-widgets\" id=\"elgg-widget-col-{$column}\">";
    if (sizeof($column_widgets) > 0) {
        foreach ($column_widgets as $widget) {
            if (elgg_is_widget_type($widget->handler)) {
                $column_html .= elgg_view_entity($widget, array('show_access' => $show_access));
            }
        }
    }
    $column_html .= '</div>';
    return $column_html;
}
Ejemplo n.º 3
0
 *
 * @uses $vars['content']          Optional display box at the top of layout
 * @uses $vars['num_columns']      Number of widget columns for this layout (3)
 * @uses $vars['show_add_widgets'] Display the add widgets button and panel (true)
 * @uses $vars['exact_match']      Widgets must match the current context (false)
 * @uses $vars['show_access']      Show the access control (true)
 */
$num_columns = elgg_extract('num_columns', $vars, 2);
$show_add_widgets = elgg_extract('show_add_widgets', $vars, true);
$exact_match = elgg_extract('exact_match', $vars, false);
$show_access = elgg_extract('show_access', $vars, true);
$owner = elgg_get_page_owner_entity();
$widget_types = elgg_get_widget_types();
$context = elgg_get_context();
elgg_push_context('widgets');
$widgets = elgg_get_widgets($owner->guid, $context);
echo '<div class="elgg-layout-widgets">';
if (elgg_can_edit_widget_layout($context)) {
    if ($show_add_widgets) {
        echo elgg_view('page/layouts/widgets/add_button');
    }
    $params = array('widgets' => $widgets, 'context' => $context, 'exact_match' => $exact_match, 'show_access' => $show_access, 'class' => 'btn btn-primary mrgn-bttm-sm');
    echo elgg_view('page/layouts/widgets/add_panel', $params);
}
/*
if (isset($vars['content'])) {
	echo $vars['content'];
}
*/
//$widget_class = "elgg-col-1of{$num_columns}";
$widget_class = "col-sm-6";
Ejemplo n.º 4
0
        // determine top row width
        if ($index_top_row == "two_column_left") {
            $top_row_width = 100 - $columns[0];
        }
        break;
}
if ($index_top_row == "full_row" || $num_columns === 2) {
    $top_row_width = 100;
} elseif ($index_top_row == "two_column_left") {
    $float = "float: left;";
}
$top_row_used = false;
if (!empty($index_top_row) && $index_top_row != "none") {
    $widget_types = elgg_get_widget_types("index", false);
    elgg_push_context('widgets');
    $widgets = elgg_get_widgets(elgg_get_page_owner_entity()->getGUID(), "index");
    $widget_content = "";
    if (isset($widgets[4])) {
        $column_widgets = $widgets[4];
        if (sizeof($column_widgets) > 0) {
            foreach ($column_widgets as $widget) {
                if (array_key_exists($widget->handler, $widget_types)) {
                    $widget_content .= elgg_view_entity($widget, array('show_access' => true));
                }
            }
        }
    }
    $top_row = "<div id='elgg-widget-col-4' class='elgg-widgets'>" . $widget_content . "</div>";
    if (elgg_is_admin_logged_in()) {
        $min_height = "min-height: 50px !important;";
    } else {
Ejemplo n.º 5
0
/**
 * Adds default admin widgets to the admin dashboard.
 *
 * @param string $event
 * @param string $type
 * @param ElggUser $user
 *
 * @return null|true
 * @access private
 */
function elgg_add_admin_widgets($event, $type, $user)
{
    elgg_set_ignore_access(true);
    // check if the user already has widgets
    if (elgg_get_widgets($user->getGUID(), 'admin')) {
        return true;
    }
    // In the form column => array of handlers in order, top to bottom
    $adminWidgets = array(1 => array('control_panel', 'admin_welcome'), 2 => array('online_users', 'new_users', 'content_stats'));
    foreach ($adminWidgets as $column => $handlers) {
        foreach ($handlers as $position => $handler) {
            $guid = elgg_create_widget($user->getGUID(), $handler, 'admin');
            if ($guid) {
                $widget = get_entity($guid);
                /* @var ElggWidget $widget */
                $widget->move($column, $position);
            }
        }
    }
    elgg_set_ignore_access(false);
}
Ejemplo n.º 6
0
        // determine top row width
        if ($index_top_row == "two_column_left") {
            $top_row_width = 100 - $columns[0];
        }
        break;
}
if ($index_top_row == "full_row" || $num_columns === 2) {
    $top_row_width = 100;
} elseif ($index_top_row == "two_column_left") {
    $float = "float: left;";
}
$top_row_used = false;
if (!empty($index_top_row) && $index_top_row != "none") {
    $widget_types = elgg_get_widget_types("index", false);
    elgg_push_context('widgets');
    $widgets = elgg_get_widgets(elgg_get_page_owner_guid(), $handler);
    $widget_content = "";
    if (isset($widgets[4])) {
        $column_widgets = $widgets[4];
        if (sizeof($column_widgets) > 0) {
            foreach ($column_widgets as $widget) {
                if (array_key_exists($widget->handler, $widget_types)) {
                    $widget_content .= elgg_view_entity($widget, array('show_access' => true));
                }
            }
        }
    }
    $top_row = "<div id='elgg-widget-col-4' class='elgg-widgets'>" . $widget_content . "</div>";
    if (elgg_can_edit_widget_layout($handler)) {
        $min_height = "min-height: 50px !important;";
    } else {
Ejemplo n.º 7
0
/**
 * Sets the widget manager tool option. This is needed because in some situation the tool option is not available.
 *
 * And add/remove tool enabled widgets
 *
 * @param string $event       name of the system event
 * @param string $object_type type of the event
 * @param mixed  $object      object related to the event
 *
 * @return void
 */
function widget_manager_update_group_event_handler($event, $object_type, $object)
{
    if (!$object instanceof ElggGroup) {
        return;
    }
    $plugin_settings = elgg_get_plugin_setting("group_enable", "widget_manager");
    // make widget management mandatory
    if ($plugin_settings == "forced") {
        $object->widget_manager_enable = "yes";
    }
    // add/remove tool enabled widgets
    if ($plugin_settings == "forced" || $plugin_settings == "yes" && $object->widget_manager_enable == "yes") {
        $result = array("enable" => array(), "disable" => array());
        $params = array("entity" => $object);
        $result = elgg_trigger_plugin_hook("group_tool_widgets", "widget_manager", $params, $result);
        if (empty($result) || !is_array($result)) {
            return;
        }
        $current_widgets = elgg_get_widgets($object->getGUID(), "groups");
        // disable widgets
        $disable_widget_handlers = elgg_extract("disable", $result);
        if (!empty($disable_widget_handlers) && is_array($disable_widget_handlers)) {
            if (!empty($current_widgets) && is_array($current_widgets)) {
                foreach ($current_widgets as $column => $widgets) {
                    if (!empty($widgets) && is_array($widgets)) {
                        foreach ($widgets as $order => $widget) {
                            // check if a widget should be removed
                            if (in_array($widget->handler, $disable_widget_handlers)) {
                                // yes, so remove the widget
                                $widget->delete();
                                unset($current_widgets[$column][$order]);
                            }
                        }
                    }
                }
            }
        }
        // enable widgets
        $column_counts = array();
        $enable_widget_handlers = elgg_extract("enable", $result);
        if (!empty($enable_widget_handlers) || is_array($enable_widget_handlers)) {
            // ignore access restrictions
            // because if a group is created with a visibility of only group members
            // the group owner is not yet added to the acl and thus can't edit the newly created widgets
            $ia = elgg_set_ignore_access(true);
            if (!empty($current_widgets) && is_array($current_widgets)) {
                foreach ($current_widgets as $column => $widgets) {
                    // count for later balancing
                    $column_counts[$column] = count($widgets);
                    if (!empty($widgets) && is_array($widgets)) {
                        foreach ($widgets as $order => $widget) {
                            // check if a widget which sould be enabled isn't already enabled
                            $enable_index = array_search($widget->handler, $enable_widget_handlers);
                            if ($enable_index !== false) {
                                // already enabled, do add duplicate
                                unset($enable_widget_handlers[$enable_index]);
                            }
                        }
                    }
                }
            }
            // add new widgets
            if (!empty($enable_widget_handlers)) {
                foreach ($enable_widget_handlers as $handler) {
                    $widget_guid = elgg_create_widget($object->getGUID(), $handler, "groups", $object->access_id);
                    if (!empty($widget_guid)) {
                        $widget = get_entity($widget_guid);
                        if ($column_counts[1] <= $column_counts[2]) {
                            // move to the end of the first column
                            $widget->move(1, 9000);
                            $column_counts[1]++;
                        } else {
                            // move to the end of the second
                            $widget->move(2, 9000);
                            $column_counts[2]++;
                        }
                    }
                }
            }
            // restore access restrictions
            elgg_set_ignore_access($ia);
        }
    }
}
Ejemplo n.º 8
0
        // determine top row width
        if ($index_top_row == "two_column_left") {
            $top_row_width = 100 - $columns[0];
        }
        break;
}
if ($index_top_row == "full_row" || $num_columns === 2) {
    $top_row_width = 100;
} elseif ($index_top_row == "two_column_left") {
    $float = "float: left;";
}
$top_row_used = false;
if (!empty($index_top_row) && $index_top_row != "none") {
    $widget_types = elgg_get_widget_types("index", false);
    elgg_push_context('widgets');
    $widgets = elgg_get_widgets(elgg_get_page_owner_guid(), "index");
    $widget_content = "";
    if (isset($widgets[4])) {
        $column_widgets = $widgets[4];
        if (sizeof($column_widgets) > 0) {
            foreach ($column_widgets as $widget) {
                if (array_key_exists($widget->handler, $widget_types)) {
                    $widget_content .= elgg_view_entity($widget, array('show_access' => true));
                }
            }
        }
    }
    $top_row = "<div id='elgg-widget-col-4' class='elgg-widgets'>" . $widget_content . "</div>";
    if (elgg_is_admin_logged_in()) {
        $min_height = "min-height: 50px !important;";
    } else {
Ejemplo n.º 9
0
    if (isset($vars['area3'])) {
        $vars['area1'] = $vars['area3'];
    }
    if (isset($vars['area4'])) {
        $vars['area2'] = $vars['area4'];
    }
}
$leftcolumn_widgets_view = custom_index_build_columns($area1widgets, $widgettypes);
$middlecolumn_widgets_view = custom_index_build_columns($area2widgets, $widgettypes);
$rightcolumn_widgets_view = custom_index_build_columns($area3widgets, $widgettypes);
$content = elgg_view_layout($ciw_layout, array('area1' => $leftcolumn_widgets_view, 'area2' => $middlecolumn_widgets_view, 'area3' => $rightcolumn_widgets_view, 'layoutmode' => 'index_mode'));
if (elgg_is_logged_in() && $ciw_showdashboard == "yes") {
    $user_guid = elgg_get_logged_in_user_guid();
    elgg_set_page_owner_guid($user_guid);
    elgg_set_context('dashboard');
    $dashboardwidgets = elgg_get_widgets($user_guid, elgg_get_context());
    $area1widgets = isset($dashboardwidgets[1]) ? $dashboardwidgets[1] : FALSE;
    $area2widgets = isset($dashboardwidgets[2]) ? $dashboardwidgets[2] : FALSE;
    $area3widgets = isset($dashboardwidgets[3]) ? $dashboardwidgets[3] : FALSE;
    /*
        $area1widgets = elgg_get_widgets($user_guid,elgg_get_context(),1);
        $area2widgets = elgg_get_widgets($user_guid,elgg_get_context(),2);
        $area3widgets = elgg_get_widgets($user_guid,elgg_get_context(),3);
    */
    if (empty($area1widgets) && empty($area2widgets) && empty($area3widgets)) {
        if (isset($vars['area3'])) {
            $vars['area1'] = $vars['area3'];
        }
        if (isset($vars['area4'])) {
            $vars['area2'] = $vars['area4'];
        }
Ejemplo n.º 10
0
 for ($column_index = 1; $column_index <= $num_columns; $column_index++) {
     if (isset($widgets[$column_index])) {
         $column_widgets = $widgets[$column_index];
     } else {
         $column_widgets = array();
     }
     if (sizeof($column_widgets) > 0) {
         foreach ($column_widgets as $widget) {
             if ($widget) {
                 $widget->delete();
             }
         }
     }
 }
 // get default widgets and add them
 $widgets = elgg_get_widgets($site_guid, $context);
 $num_columns = count($widgets);
 for ($column_index = 1; $column_index <= $num_columns; $column_index++) {
     if (isset($widgets[$column_index])) {
         $column_widgets = $widgets[$column_index];
     } else {
         $column_widgets = array();
     }
     if (sizeof($column_widgets) > 0) {
         $line = 0;
         foreach ($column_widgets as $widget) {
             if ($widget) {
                 // change the container and owner
                 $new_widget = clone $widget;
                 $new_widget->container_guid = $owner_guid;
                 $new_widget->owner_guid = $owner_guid;
Ejemplo n.º 11
0
        // determine top row width
        if ($index_top_row == "two_column_left") {
            $top_row_width = 100 - $columns[0];
        }
        break;
}
if ($index_top_row == "full_row" || $num_columns === 2) {
    $top_row_width = 100;
} elseif ($index_top_row == "two_column_left") {
    $float = "float: left;";
}
$top_row_used = false;
if (!empty($index_top_row) && $index_top_row != "none") {
    $widget_types = elgg_get_widget_types("index", false);
    elgg_push_context('widgets');
    $widgets = elgg_get_widgets(elgg_get_page_owner_entity()->getGUID(), $handler);
    $widget_content = "";
    if (isset($widgets[4])) {
        $column_widgets = $widgets[4];
        if (sizeof($column_widgets) > 0) {
            foreach ($column_widgets as $widget) {
                if (array_key_exists($widget->handler, $widget_types)) {
                    $widget_content .= elgg_view_entity($widget, array('show_access' => true));
                }
            }
        }
    }
    $top_row = "<div id='elgg-widget-col-4' class='elgg-widgets'>" . $widget_content . "</div>";
    if (elgg_can_edit_widget_layout($handler)) {
        $min_height = "min-height: 50px !important;";
    } else {