diff options
Diffstat (limited to 'views/default/layouts/widgets.php')
-rw-r--r-- | views/default/layouts/widgets.php | 373 |
1 files changed, 40 insertions, 333 deletions
diff --git a/views/default/layouts/widgets.php b/views/default/layouts/widgets.php index d114edfcf..21d942080 100644 --- a/views/default/layouts/widgets.php +++ b/views/default/layouts/widgets.php @@ -1,337 +1,44 @@ <?php - - /** - * Elgg widget layout - */ - - $widgettypes = get_widget_types(); - - $owner = elgg_get_page_owner(); - - $area1widgets = get_widgets(elgg_get_page_owner_guid(), elgg_get_context(), 1); - $area2widgets = get_widgets(elgg_get_page_owner_guid(), elgg_get_context(), 2); - $area3widgets = get_widgets(elgg_get_page_owner_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']; - - } - - if (is_array($widgettypes) && sizeof($widgettypes) > 0 && $owner && $owner->canEdit()) { - - - - if(get_loggedin_userid() == elgg_get_page_owner_guid() || ($owner instanceof ElggGroup && $owner->canEdit())){ - - if (elgg_get_context() == "profile") { - ?> - <!-- add remove widget button --> - <div class="add_widgets" style="margin:-18px 0 10px;"> - <a href="javascript:void(0);" class="action_button toggle_customise_edit_panel"><?php echo(elgg_echo('dashboard:configure')); ?></a> - </div><div class="clearfloat"></div> - <?php - } - } - ?> - -<div id="customise_editpanel" class="hidden"> - -<div id="customise_editpanel_rhs"> -<h2><?php echo elgg_echo("widgets:gallery"); ?></h2> -<div id="widget_picker_gallery"> - - -<?php - - foreach($widgettypes as $handler => $widget) { - -?> - -<table class="draggable_widget" cellspacing="0"><tr><td> - <h3> - <?php echo $widget->name; ?> - <input type="hidden" name="multiple" value="<?php if ((isset($widget->handler)) && (isset($widgettypes[$widget->handler]->multiple))) echo $widgettypes[$widget->handler]->multiple; ?>" /> - <input type="hidden" name="side" value="<?php if ((isset($widget->handler)) && (isset($widgettypes[$widget->handler])) && (is_array($widgettypes[$widget->handler]->positions))) echo in_array('side',$widgettypes[$widget->handler]->positions); ?>" /> - <input type="hidden" name="main" value="<?php if ((isset($widget->handler)) && (isset($widgettypes[$widget->handler])) && (is_array($widgettypes[$widget->handler]->positions))) echo in_array('main',$widgettypes[$widget->handler]->positions); ?>" /> - <input type="hidden" name="handler" value="<?php echo htmlentities($handler); ?>" /> - <input type="hidden" name="description" value="<?php echo htmlentities($widget->description, null, 'UTF-8'); ?>" /> - <input type="hidden" name="guid" value="0" /> - </h3> -</td> -<td width="17px" align="right"></td> -<td width="17px" align="right"><a href="#"><img src="<?php echo elgg_get_site_url(); ?>_graphics/spacer.gif" width="14" height="14" class="more_info" /></a></td> -<td width="17px" align="right"><a href="#"><img src="<?php echo elgg_get_site_url(); ?>_graphics/spacer.gif" width="15" height="15" class="drag_handle" /></a></td> -</tr></table> - -<?php - } -?> - -<br /><!-- bit of space at the bottom of the widget gallery --> - -</div><!-- /#customise_editpanel_rhs --> -</div><!-- /#widget_picker_gallery --> - - -<div class="customise_editpanel_instructions"> -<h2><?php echo elgg_echo('widgets:add'); ?></h2> -<?php echo elgg_view('output/longtext', array('value' => elgg_echo('widgets:add:description'))); ?> -</div> - - -<div id="customise_page_view"> - -<table cellspacing="0"> - <tr> - <td colspan="2" align="left" valign="top"> - - <?php -if (elgg_get_context() != "profile") { /* on groups */ - ?> - - <h2 class="profile_box"><?php echo elgg_echo("widgets:profilebox"); ?></h2> - <div id="profile_box_widgets"> - <p><small><?php echo elgg_echo('widgets:position:fixed'); ?></small></p> - </div> - - <?php - } - ?> - - </td> - - - <td rowspan="2" align="left" valign="top"> - <h2><?php echo elgg_echo("widgets:rightcolumn"); ?></h2> - <div id="rightcolumn_widgets" <?php if (elgg_get_context() != "profile") echo "class=\"long\""; ?> > - <?php - $rightcolumn_widgets = ""; - if (is_array($area3widgets) && sizeof($area3widgets) > 0) { - foreach($area3widgets as $widget) { - if (!empty($rightcolumn_widgets)) { - $rightcolumn_widgets .= "::"; - } - $rightcolumn_widgets .= "{$widget->handler}::{$widget->getGUID()}"; - ?> - - <table class="draggable_widget" cellspacing="0"><tr><td width="149px"> - <h3> - <?php echo $widgettypes[$widget->handler]->name; ?> - <input type="hidden" name="handler" value="<?php - echo $widget->handler; - ?>" /> - <input type="hidden" name="multiple" value="<?php echo $widgettypes[$widget->handler]->multiple; ?>" /> - <input type="hidden" name="side" value="<?php echo in_array('side',$widgettypes[$widget->handler]->positions); ?>" /> - <input type="hidden" name="main" value="<?php echo in_array('main',$widgettypes[$widget->handler]->positions); ?>" /> - <input type="hidden" name="description" value="<?php echo htmlentities($widgettypes[$widget->handler]->description); ?>" /> - <input type="hidden" name="guid" value="<?php echo $widget->getGUID(); ?>" /> - </h3> - </td> - <td width="17px" align="right"></td> - <td width="17px" align="right"><a href="#"><img src="<?php echo elgg_get_site_url(); ?>_graphics/spacer.gif" width="14" height="14" class="more_info" /></a></td> - <td width="17px" align="right"><a href="#"><img src="<?php echo elgg_get_site_url(); ?>_graphics/spacer.gif" width="15" height="15" class="drag_handle" /></a></td> - </tr></table> - - <?php - - } - } - ?> - - </div> - </td><!-- /rightcolumn td --> - - </tr> - - <tr> - -<td> -<h2><?php echo elgg_echo("widgets:leftcolumn"); ?></h2> -<div id="leftcolumn_widgets"> - -<?php - $leftcolumn_widgets = ""; - if (is_array($area1widgets) && sizeof($area1widgets) > 0) { - foreach($area1widgets as $widget) { - if (!empty($leftcolumn_widgets)) { - $leftcolumn_widgets .= "::"; - } - $leftcolumn_widgets .= "{$widget->handler}::{$widget->getGUID()}"; -?> - -<table class="draggable_widget" cellspacing="0"><tr><td width="149px"> - <h3> - <?php echo $widgettypes[$widget->handler]->name; ?> - <input type="hidden" name="handler" value="<?php - echo $widget->handler; - ?>" /> - <input type="hidden" name="multiple" value="<?php echo $widgettypes[$widget->handler]->multiple; ?>" /> - <input type="hidden" name="side" value="<?php echo in_array('side',$widgettypes[$widget->handler]->positions); ?>" /> - <input type="hidden" name="main" value="<?php echo in_array('main',$widgettypes[$widget->handler]->positions); ?>" /> - <input type="hidden" name="description" value="<?php echo htmlentities($widgettypes[$widget->handler]->description); ?>" /> - <input type="hidden" name="guid" value="<?php echo $widget->getGUID(); ?>" /> - </h3> -</td> -<td width="17px" align="right"></td> -<td width="17px" align="right"><a href="#"><img src="<?php echo elgg_get_site_url(); ?>_graphics/spacer.gif" width="14" height="14" class="more_info" /></a></td> -<td width="17px" align="right"><a href="#"><img src="<?php echo elgg_get_site_url(); ?>_graphics/spacer.gif" width="15" height="15" class="drag_handle" /></a></td> -</tr></table> - -<?php - +/** + * Elgg widgets layout + * + * @uses $vars['box'] Optional display box at the top of layout + * @uses $vars['num_columns'] Number of widget columns for this layout + */ + +$owner = elgg_get_page_owner(); +$context = elgg_get_context(); +elgg_push_context('widgets'); + +if (isset($vars['box'])) { + echo $vars['box']; +} + +$num_columns = 3; +if (isset($vars['num_columns'])) { + $num_columns = $vars['num_columns']; +} + +$widget_class = "widget_col_$num_columns"; +for ($column_index = 1; $column_index <= $num_columns; $column_index++) { + $widgets = get_widgets($owner->guid, $context, $column_index); + + // test code during design and implementation + $widget1 = new ElggWidget(); + $widget1->handler = 'test'; + $widget2 = new ElggWidget(); + $widget2->handler = 'test'; + $widgets = array($widget1, $widget2); + + $first = ($column_index == 1) ? 'widget_first_col' : ''; + + echo "<div class=\"widget_column $widget_class $first\">"; + if (is_array($widgets) && sizeof($widgets) > 0) { + foreach ($widgets as $widget) { + echo elgg_view_entity($widget); } } -?> -</div> -</td> - -<td> - -<h2><?php echo elgg_echo("widgets:middlecolumn"); ?></h2> -<div id="middlecolumn_widgets"> - -<?php - $middlecolumn_widgets = ""; - if (is_array($area2widgets) && sizeof($area2widgets) > 0) { - foreach($area2widgets as $widget) { - if (!empty($middlecolumn_widgets)) { - $middlecolumn_widgets .= "::"; - } - $middlecolumn_widgets .= "{$widget->handler}::{$widget->getGUID()}"; -?> - -<table class="draggable_widget" cellspacing="0"><tr><td width="149px"> - <h3> - <?php echo $widgettypes[$widget->handler]->name; ?> - <input type="hidden" name="handler" value="<?php - echo $widget->handler; - ?>" /> - <input type="hidden" name="multiple" value="<?php echo $widgettypes[$widget->handler]->multiple; ?>" /> - <input type="hidden" name="side" value="<?php echo in_array('side',$widgettypes[$widget->handler]->positions); ?>" /> - <input type="hidden" name="main" value="<?php echo in_array('main',$widgettypes[$widget->handler]->positions); ?>" /> - <input type="hidden" name="description" value="<?php echo htmlentities($widgettypes[$widget->handler]->description); ?>" /> - <input type="hidden" name="guid" value="<?php echo $widget->getGUID(); ?>" /> - </h3> -</td> -<td width="17px" align="right"></td> -<td width="17px" align="right"><a href="#"><img src="<?php echo elgg_get_site_url(); ?>_graphics/spacer.gif" width="14" height="14" class="more_info" /></a></td> -<td width="17px" align="right"><a href="#"><img src="<?php echo elgg_get_site_url(); ?>_graphics/spacer.gif" width="15" height="15" class="drag_handle" /></a></td> -</tr></table> - -<?php - - } - } -?> - -</div> -</td> - - - - - - -</tr> -</table> - -</div><!-- /#customise_page_view --> - -<form action="<?php echo elgg_get_site_url(); ?>action/widgets/reorder" method="post"> -<?php echo elgg_view('input/securitytoken'); ?> -<textarea type="textarea" value="Left widgets" style="display:none" name="debugField1" id="debugField1" /><?php echo $leftcolumn_widgets; ?></textarea> -<textarea type="textarea" value="Middle widgets" style="display:none" name="debugField2" id="debugField2" /><?php echo $middlecolumn_widgets; ?></textarea> -<textarea type="textarea" value="Right widgets" style="display:none" name="debugField3" id="debugField3" /><?php echo $rightcolumn_widgets; ?></textarea> - -<input type="hidden" name="context" value="<?php echo elgg_get_context(); ?>" /> -<input type="hidden" name="owner" value="<?php echo elgg_get_page_owner_guid(); ?>" /> -<input type="submit" onfocus="blur()" value="<?php echo elgg_echo('save'); ?>" class="submit_button" onclick="$('a.Action_Button.toggle_customise_edit_panel').click();" /> -<input type="button" onfocus="blur()" value="<?php echo elgg_echo('cancel'); ?>" class="cancel_button" onclick="$('a.Action_Button.toggle_customise_edit_panel').click();" /> - -</form> -</div><!-- /customise_editpanel --> - -<?php - - } - -?> - - - -<table cellspacing="0" id="widget_table"> - <tr> - <td colspan="2" align="left" valign="top" height="1px"> - <!-- profile box or 'dashboard info' notice --> - <?php if (isset($vars['area1'])) echo $vars['area1']; ?> - </td> - <td rowspan="2" align="left" valign="top" height="100%"> - - <?php - if(get_loggedin_userid() == elgg_get_page_owner_guid() || ($owner instanceof ElggGroup && $owner->canEdit())){ - - if (elgg_get_context() != "profile") { - ?> - <!-- customise page button appears in different place on groups widgets --> - <div class="add_widgets"> - <a href="javascript:void(0);" class="action_button toggle_customise_edit_panel"><?php echo(elgg_echo('dashboard:configure')); ?></a> - </div> - <?php - } - } - ?> - - - <div id="widgets_right"> - <?php - - if (is_array($area3widgets) && sizeof($area3widgets) > 0) - foreach($area3widgets as $widget) { - echo elgg_view_entity($widget); - } - - ?> - - </div><!-- /#widgets_right --> - </td> - </tr> - <tr> - <td align="left" valign="top"> - - <!-- left widgets --> - <div id="widgets_left"> - - <?php - - if (is_array($area1widgets) && sizeof($area1widgets) > 0) - foreach($area1widgets as $widget) { - echo elgg_view_entity($widget); - } - - ?> - - </div><!-- /#widgets_left --> - - </td> - <td align="left" valign="top"> - - <!-- widgets middle --> - <div id="widgets_middle"> - - <?php if (isset($vars['area2'])) echo $vars['area2']; ?> - <?php - - if (is_array($area2widgets) && sizeof($area2widgets) > 0) - foreach($area2widgets as $widget) { - echo elgg_view_entity($widget); - } - - ?> - - </div><!-- /#widgets_middle --> + echo '</div>'; +} - </td> - </tr> -</table> +elgg_pop_context();
\ No newline at end of file |