Welcome Guest, Not a member yet? Register   Sign In
Use of Closures in Views
#6

(This post was last modified: 09-25-2015, 07:03 AM by jLinux.)

Actually, I did know about this, I use it when I want to pass variables to views but the values haven't yet been defined, or can get changed once the page is already loaded (EG: ajax related)

PHP Code:
<?php
public function set_common_view_vars($var)
{
 
   $partition self::$CI->Partition_model->get_current_partition();

 
   $vars = array(
 
       'page_title'            => App_model::setting('application_name') . (
 
           is_null(self::$CI->template_lib->get_page_title())
 
               ' | ' self::$CI->template_lib->get_page_title()
 
               ''),
 
       'username'              => self::$CI->Accounts_model->username,
 
       'full_name'             => (count($name) > ucwords(implode(' '$name)) : "Authenticated User"),
 
       'page_header'           => $var,
 
       'can_change_password'   => self::$CI->account_lib->can_change_password(),
 
       'application_name'      => App_model::setting('application_name'),
 
       'current_partition_id'  => ($partition $partition->partition_id NULL),
 
       'current_partition'     => ($partition $partition NULL),
 
       // Anonymous Function
 
       'partition_list'        => function() {
 
           return self::$CI->Partition_model->get_partitions();
 
       },
 
       // Anonymous Function
 
       'notifications'         => function() {
 
           return App_lib::generate_notifications();
 
       },
 
       // Anonymous Function
 
       'sidebar'               => function() {
 
           return self::$CI->template_lib->generate_sidebar();
 
       },
 
       // Anonymous Function
 
       'breadcrumbs'           => function() {
 
           return self::$CI->template_lib->generate_breadcrumb();
 
       },
 
       // Closure
 
       'partition_pages'       => function() use($partition) {
 
           if( ! $partition )
 
               return FALSE;

 
           $pages self::$CI->Page_model->get_pages_in_groups($partition->partition_id);

 
           //die('Pages 1: <pre>'. print_r($pages, TRUE));

 
           if(isset($pages['_']))
 
           {
 
               $top $pages['_'];
 
               unset($pages['_']);
 
               //sort($pages);
 
               $pages array_merge(['_' => $top],$pages);
 
           }

 
           return $pages;
 
       },
 
       // Anonymous Function
 
       'bookmarks'             => function() {
 
           return self::$CI->Accounts_model->get_my_bookmarks();
 
       }
 
   );

 
   self::$CI->load->vars($vars);

Reply


Messages In This Thread
Use of Closures in Views - by mwhitney - 09-09-2015, 09:25 AM
RE: Use of Closures in Views - by includebeer - 09-12-2015, 10:25 AM
RE: Use of Closures in Views - by mwhitney - 09-14-2015, 10:15 AM
RE: Use of Closures in Views - by PaulD - 09-15-2015, 03:37 PM
RE: Use of Closures in Views - by kilishan - 09-16-2015, 06:31 AM
RE: Use of Closures in Views - by jLinux - 09-21-2015, 03:28 PM
RE: Use of Closures in Views - by spjonez - 09-24-2015, 06:57 AM
RE: Use of Closures in Views - by mwhitney - 09-24-2015, 07:29 AM
RE: Use of Closures in Views - by kilishan - 09-24-2015, 07:20 AM
RE: Use of Closures in Views - by spjonez - 09-24-2015, 03:42 PM
RE: Use of Closures in Views - by mwhitney - 09-25-2015, 10:03 AM
RE: Use of Closures in Views - by jLinux - 09-25-2015, 06:46 AM
RE: Use of Closures in Views - by mwhitney - 09-25-2015, 10:29 AM
RE: Use of Closures in Views - by kilishan - 09-25-2015, 07:04 AM
RE: Use of Closures in Views - by jLinux - 09-25-2015, 07:12 AM
RE: Use of Closures in Views - by jLinux - 09-25-2015, 07:17 AM
RE: Use of Closures in Views - by kilishan - 09-25-2015, 07:32 AM
RE: Use of Closures in Views - by jLinux - 09-25-2015, 08:13 AM
RE: Use of Closures in Views - by mwhitney - 09-25-2015, 08:26 AM
RE: Use of Closures in Views - by spjonez - 09-25-2015, 11:00 AM
RE: Use of Closures in Views - by mwhitney - 09-28-2015, 10:51 AM
RE: Use of Closures in Views - by kilishan - 09-25-2015, 01:24 PM



Theme © iAndrew 2016 - Forum software by © MyBB