Fixed breadcrumb, added submode()
This commit is contained in:
parent
56c11507f4
commit
08eab4b5f9
@ -141,7 +141,7 @@ Route::set('default/media', 'media(/<file>)', array('file' => '.+'))
|
||||
* Set the routes. Each route must have a minimum of a name, a URI and a set of
|
||||
* defaults for the URI.
|
||||
*/
|
||||
Route::set('default', '(<controller>(/<action>(/<id>)))', array('id' => '[a-zA-Z0-9_.-]+'))
|
||||
Route::set('default', '<controller>(/<action>(/<id>))', array('id' => '[a-zA-Z0-9_.-]+'))
|
||||
->defaults(array(
|
||||
'controller' => 'welcome',
|
||||
'action' => 'index',
|
||||
|
@ -10,8 +10,7 @@
|
||||
* @copyright (c) 2010 Deon George
|
||||
* @license http://dev.leenooks.net/license.html
|
||||
*/
|
||||
class Controller_Admin_Welcome extends Controller_TemplateDefault {
|
||||
protected $auth_required = TRUE;
|
||||
class Controller_Admin_Welcome extends Controller_TemplateDefault_Admin {
|
||||
public $secure_actions = array(
|
||||
'index'=>TRUE,
|
||||
);
|
||||
|
@ -39,9 +39,16 @@ abstract class Controller_lnApp_TemplateDefault extends Controller_Template {
|
||||
* @var array actions that require a valid user
|
||||
*/
|
||||
protected $secure_actions = array(
|
||||
'menu' => FALSE,
|
||||
);
|
||||
|
||||
public function __construct(Request $request, Response $response) {
|
||||
// Our Menu's can run without method authentication by default.
|
||||
if (! isset($this->secure_actions['menu']))
|
||||
$this->secure_actions['menu'] = FALSE;
|
||||
|
||||
return parent::__construct($request,$response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check and see if this controller needs authentication
|
||||
*
|
||||
@ -197,6 +204,10 @@ abstract class Controller_lnApp_TemplateDefault extends Controller_Template {
|
||||
// In case there any style sheets for this render.
|
||||
$this->response->bodyadd(Style::factory());
|
||||
|
||||
// Since we are ajax, we should re-render the breadcrumb
|
||||
Session::instance()->set('breadcrumb',(string)Breadcrumb::factory());
|
||||
$this->response->bodyadd(Script::add(array('type'=>'stdin','data'=>'$().ready($("#ajCONTROL").load("'.URL::site('welcome/breadcrumb').'",null,function(x,s,r) {}));')));
|
||||
|
||||
// In case there any javascript for this render.
|
||||
$this->response->bodyadd(Script::factory());
|
||||
|
||||
|
@ -101,7 +101,7 @@ $(function () {
|
||||
'attr'=>array('id'=>sprintf('B_%s',$branch['id'])),
|
||||
'state'=>$branch['state'],
|
||||
'data'=>array('title'=>$branch['name']),
|
||||
'attr'=>array('id'=>sprintf('N_%s',$branch['id']),'href'=>empty($branch['attr_href']) ? URL::site(sprintf('%s/menu',$branch['name'])) : $branch['attr_href']),
|
||||
'attr'=>array('id'=>sprintf('N_%s',$branch['id']),'href'=>empty($branch['attr_href']) ? URL::site(sprintf('user/%s/menu',$branch['name'])) : $branch['attr_href']),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -22,9 +22,19 @@ class Controller_TemplateDefault_User extends Controller_TemplateDefault {
|
||||
|
||||
parent::before();
|
||||
|
||||
$this->ao = ORM::factory('account',Auth::instance()->get_user()->id);
|
||||
$this->ao = Auth::instance()->get_user();
|
||||
if (! $this->ao->loaded())
|
||||
throw new Kohana_Exception('Account doesnt exist :account ?',array(':account'=>Auth::instance()->get_user()->id));
|
||||
}
|
||||
|
||||
public function after() {
|
||||
$dc = 'welcome/index';
|
||||
$m = sprintf('%s/%s',Request::current()->directory(),Request::current()->controller());
|
||||
|
||||
Breadcrumb::URL(Request::current()->directory(),sprintf('%s/%s',Request::current()->directory(),$dc),FALSE);
|
||||
Breadcrumb::URL($m,method_exists($this,'action_menu') ? $m.'/menu' : sprintf('%s/%s',Request::current()->directory(),$dc),FALSE);
|
||||
|
||||
parent::after();
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -10,8 +10,10 @@
|
||||
* @copyright (c) 2010 Deon George
|
||||
* @license http://dev.leenooks.net/license.html
|
||||
*/
|
||||
class Controller_User_Welcome extends Controller_TemplateDefault {
|
||||
protected $auth_required = TRUE;
|
||||
class Controller_User_Welcome extends Controller_TemplateDefault_User {
|
||||
protected $secure_actions = array(
|
||||
'index'=>FALSE,
|
||||
);
|
||||
|
||||
public function action_index() {
|
||||
$ao = ORM::factory('account',Auth::instance()->get_user()->id);
|
||||
|
@ -37,5 +37,11 @@ class Controller_Welcome extends Controller_TemplateDefault {
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
public function action_breadcrumb() {
|
||||
$this->auto_render = FALSE;
|
||||
|
||||
$this->response->body(Session::instance()->get_once('breadcrumb'));
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -14,8 +14,8 @@ class Country {
|
||||
public static function icon($cid) {
|
||||
// @todo alt character should be country specific
|
||||
// @todo This doesnt correctly get the right 3 character country code - it should be obtained from a join with country/currency
|
||||
return HTML::image(sprintf('media/img/country/%s.gif',StaticList_Module::record('country','two_code','id',$cid)),array('alt'=>'$','style'=>'border: 0px;'));
|
||||
return sprintf('media/img/country/%s.gif',StaticList_Module::record('country','three_code','id',$cid));
|
||||
return HTML::image(sprintf('media/img/country/%s.png',strtolower(StaticList_Module::record('country','two_code','id',$cid))),array('alt'=>'$','style'=>'border: 0px;'));
|
||||
return sprintf('media/img/country/%s.png',strtolower(StaticList_Module::record('country','three_code','id',$cid)));
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -23,17 +23,32 @@ class lnApp_Breadcrumb extends HTMLRender {
|
||||
public static function set($path) {
|
||||
if (is_string($path))
|
||||
static::$_data['path'] = explode('/',$path);
|
||||
else
|
||||
elseif (is_array($path))
|
||||
static::$_data['path'] = $path;
|
||||
else
|
||||
throw new Kohana_Exception('Path is not a string, nor an array');
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable a friendly name to be used for a path
|
||||
*/
|
||||
public static function name($path,$name) {
|
||||
public static function name($path,$name,$override=TRUE) {
|
||||
if (isset(static::$_data['name'][$path]) AND ! $override)
|
||||
return;
|
||||
|
||||
static::$_data['name'][$path] = $name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable specifying the URL for a path
|
||||
*/
|
||||
public static function URL($path,$url,$override=TRUE) {
|
||||
if (isset(static::$_data['url'][$path]) AND ! $override)
|
||||
return;
|
||||
|
||||
static::$_data['url'][$path] = $url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return an instance of this class
|
||||
*
|
||||
@ -47,7 +62,9 @@ class lnApp_Breadcrumb extends HTMLRender {
|
||||
* Render this Breadcrumb
|
||||
*/
|
||||
protected function render() {
|
||||
$output = HTML::anchor('/',_('Home'));
|
||||
// @todo Make this into a view
|
||||
$output = '<table class="pagecontrol"><tr><td class="none">';
|
||||
$output .= HTML::anchor('/',_('Home'));
|
||||
|
||||
$data = empty(static::$_data['path']) ? explode('/',preg_replace('/^\//','',Request::detect_uri())) : static::$_data['path'];
|
||||
|
||||
@ -55,9 +72,14 @@ class lnApp_Breadcrumb extends HTMLRender {
|
||||
$output .= static::$_spacer;
|
||||
|
||||
$p = join('/',array_slice($data,0,$k+1));
|
||||
$output .= HTML::anchor($p,empty(static::$_data['name'][$p]) ? ucfirst($v) : static::$_data['name'][$p]);
|
||||
$output .= HTML::anchor(
|
||||
(empty(static::$_data['url'][$p]) ? $p : static::$_data['url'][$p]),
|
||||
(empty(static::$_data['name'][$p]) ? ucfirst($v) : static::$_data['name'][$p])
|
||||
);
|
||||
}
|
||||
|
||||
$output .= '</td></tr></table>';
|
||||
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
@ -62,6 +62,12 @@ abstract class lnApp_Config extends Kohana_Config {
|
||||
return (! isset($modes[static::sitemode()])) ? 'Unknown' : $modes[static::sitemode()];
|
||||
}
|
||||
|
||||
public static function submode() {
|
||||
$submode = Kohana::Config('config.debug.submode');
|
||||
|
||||
return (isset($submode[Request::$client_ip])) ? $submode[Request::$client_ip] : FALSE;
|
||||
}
|
||||
|
||||
public static function sitename() {
|
||||
return Config::instance()->loadsite()->so->site_name;
|
||||
}
|
||||
|
@ -32,11 +32,7 @@
|
||||
<tr class="pagecontrol">
|
||||
<td colspan="3">
|
||||
<div id="ajCONTROL">
|
||||
<table class="pagecontrol">
|
||||
<tr>
|
||||
<td class="none"><?php echo $control; ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php echo $control; ?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -10,10 +10,6 @@
|
||||
* @license http://dev.leenooks.net/license.html
|
||||
*/
|
||||
class Controller_HostServer extends Controller {
|
||||
// protected $_control = array(
|
||||
// array('Product Categories'=>'product_category'),
|
||||
// );
|
||||
|
||||
public function action_plesk_addclienttest($id) {
|
||||
$ao = ORM::factory('account',$id);
|
||||
|
||||
|
@ -28,10 +28,11 @@ class Controller_User_Invoice extends Controller_TemplateDefault_User {
|
||||
25,
|
||||
array(
|
||||
'id'=>array('label'=>'ID','url'=>'user/invoice/view/'),
|
||||
'date_orig'=>array('label'=>'Date'),
|
||||
'total_amt'=>array('label'=>'Total','class'=>'right'),
|
||||
'date_orig'=>array('label'=>'Date Issued'),
|
||||
'due_date'=>array('label'=>'Date Due'),
|
||||
'total(TRUE)'=>array('label'=>'Total','class'=>'right'),
|
||||
'credit_amt'=>array('label'=>'Credits','class'=>'right'),
|
||||
'billed_amt'=>array('label'=>'Payments','class'=>'right'),
|
||||
'payments_total(TRUE)'=>array('label'=>'Payments','class'=>'right'),
|
||||
'due(TRUE)'=>array('label'=>'Still Due','class'=>'right'),
|
||||
),
|
||||
array(
|
||||
|
Reference in New Issue
Block a user