Example #1
0
 /**
  * Overload Sprig::__get() to get
  * - permalink URLs
  * - associated category URL
  * - tag list (with URLs)
  * - article excerpt
  */
 public function __get($name)
 {
     if ($name == 'permalink') {
         $date = date('Y/n/j', $this->date);
         return Route::get('blog/permalink')->uri(array('date' => $date, 'slug' => $this->slug));
     } elseif ($name == 'category_link') {
         return Route::get('blog/filter')->uri(array('action' => 'category', 'name' => $this->category->load()->name));
     } elseif ($name == 'tag_list') {
         $return = '';
         foreach ($this->tags as $tag) {
             $return .= HTML::anchor(Route::get('blog/filter')->uri(array('action' => 'tag', 'name' => $tag->name)), ucfirst($tag->name));
         }
         return $return;
     } elseif ($name == 'excerpt') {
         $text = $this->text;
         if (strpos($text, '<p>') !== FALSE) {
             $text = substr($text, strpos($text, '<p>'));
         }
         return strip_tags(Text::limit_words($text, 100, '...'));
     } else {
         return parent::__get($name);
     }
 }