Widget base class
All widgets should extend this class.
Class declared in MODPATH/gleez/classes/widget/admin.php on line 3.
Widget $nameName
Widget $widgetObject
public function donate()
{
return View::factory('widgets/static')->set(array(
'title' => __('Donate'),
'content' => __('If you use Gleez, we ask that you donate to ensure future development is possible.')
))->render();
}
public function render()
{
switch($this->name)
{
case 'donate':
return $this->donate();
break;
case 'welcome':
return $this->welcome();
break;
case 'info':
return $this->system_info();
break;
default:
return;
}
}
public function system_info()
View::factory('widgets/systeminfo')->render();
public function welcome()
{
return View::factory('widgets/welcome')->set(array(
'title' => __('welcome'),
))->render();
}
public function __construct($name, $widget)
{
$this->name = $name;
$this->widget = $widget;
}
public function __toString()
{
return $this->render();
}
Create a new widget instance
$widget = Widget::factory($name);
string
$name
required - Widget namewidget
$widget
required - Widget objectWidgetpublic static function factory($name, $widget)
{
// get class name if it has slash for multiple widgets, ex menu/managemnet or static/donate
$split_name = explode('/', $name);
$name = array_shift($split_name);
// Set class name
$widget_class = 'Widget_'.ucfirst($name);
$name = isset( $split_name[0] ) ? $split_name[0] : $name ;
return new $widget_class($name, $widget);
}