"Datetime", "Author" => "Text", "Tags" => "Text" ); static $casting = array( "Date" => "Date" ); static $defaults = array( "ProvideComments" => true ); static $allowed_children = "none"; /** * overload so that the default date is today. */ public function populateDefaults(){ parent::populateDefaults(); $this->Date = date("d/m/Y H:i:s",time()); } /** * Ensures the most recent article edited on the same day is shown first. */ public function setDate($val){ $datepart = date("Y-m-d",strtotime($val)); $minutepart = date("H:i:s",time()); $date = $datepart . " " . $minutepart; return $this->setField("Date",$date); } function getCMSFields() { Requirements::javascript('blog/javascript/bbcodehelp.js'); Requirements::css('blog/css/bbcodehelp.css'); $firstName = Member::CurrentMember() ? Member::currentMember()->FirstName : ''; $codeparser = new BBCodeParser(); $fields = parent::getCMSFields(); $fields->removeFieldFromTab("Root.Content.Main","Content"); $fields->addFieldToTab("Root.Content.Main", new TextareaField("Content", "Content", 20)); $fields->addFieldToTab("Root.Content.Main", new CalendarDateField("Date", "Date"),"Content"); $fields->addFieldToTab("Root.Content.Main", new TextField("Author", "Author", $firstName),"Content"); $fields->addFieldToTab("Root.Content.Main", new LiteralField("BBCodeHelper", "
" . "BBCode help" . "
")); $fields->addFieldToTab("Root.Content.Main", new TextField("Tags", "Tags (comma sep.)"),"Content"); return $fields; } function Tags() { $theseTags = split(" *, *", trim($this->Tags)); $output = new DataObjectSet(); foreach($theseTags as $tag) { $output->push(new ArrayData(array( "Tag" => $tag, "Link" => $this->getParent()->Link() . '?tag=' . urlencode($tag) ))); } if($this->Tags){ return $output; } } function SideBar() { return $this->getParent()->SideBar(); } function ParagraphSummary(){ $content = new Text('Content'); $content->value = Convert::raw2xml($this->Content); $parser = new BBCodeParser($content->FirstParagraph()); return $parser->parse(); } function ParsedContent() { $parser = new BBCodeParser($this->Content); $content = new Text('Content'); $content->value =$parser->parse(); return $content; } function EditURL(){ return $this->getParent()->Link('post')."/".$this->ID."/"; } } class BlogEntry_Controller extends Page_Controller { function init() { parent::init(); Requirements::themedCSS("blog"); } function unpublishPost(){ if(!Permission::check('ADMIN')){ Security::permissionFailure($this, "Unpublishing blogs is an administrator task. Please log in."); } else{ $SQL_id = Convert::raw2sql($this->ID); $page = DataObject::get_by_id("SiteTree", $SQL_id); $page->deleteFromStage('Live'); $page->flushCache(); $page = DataObject::get_by_id("SiteTree", $SQL_id); $page->Status = "Unpublished"; Director::redirect($this->getParent()->Link()); } } } ?> "WidgetArea" ); static $allowed_children = array( 'BlogEntry' ); function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeFieldFromTab("Root.Content.Main","Content"); $fields->addFieldToTab("Root.Content.Widgets", new WidgetAreaEditor("SideBar")); return $fields; } public function BlogEntries($limit = 10) { $start = isset($_GET['start']) ? (int)$_GET['start'] : 0; $tagCheck = ''; $dateCheck = ""; if(isset($_GET['tag'])) { $tag = addslashes($_GET['tag']); $tag = str_replace(array("\\",'_','%',"'"), array("\\\\","\\_","\\%","\\'"), $tag); $tagCheck = "AND `BlogEntry`.Tags LIKE '%$tag%'"; } if(Director::urlParams()){ $year = Director::urlParam('Action'); $month = Director::urlParam('ID'); if(is_numeric($month) && is_numeric($month)){ $dateCheck = "AND Date BETWEEN '$year-$month-1' AND '$year-$month-31'"; } else if(isset($year)){ $dateCheck = "AND Date BETWEEN '$year-1-1' AND '$year-12-31'"; } } return DataObject::get("Page","`ParentID` = $this->ID AND ShowInMenus = 1 $tagCheck $dateCheck","`BlogEntry`.Date DESC",'',"$start, $limit"); } function Tag() { return isset($_GET['tag']) ? $_GET['tag'] : false; } function BlogEntryForm(){ Requirements::javascript('jsparty/behaviour.js'); Requirements::javascript('jsparty/prototype.js'); Requirements::javascript('jsparty/scriptaculous/effects.js'); Requirements::javascript('cms/javascript/PageCommentInterface.js'); Requirements::javascript('blog/javascript/bbcodehelp.js'); $id = 0; if(Director::urlParam('ID')){ $id = Director::urlParam('ID'); } $codeparser = new BBCodeParser(); $membername = Member::currentMember() ? Member::currentMember()->getName() : ""; $fields = new FieldSet( new HiddenField("ParentID", "ParentID", $this->ID), new HiddenField("ID","ID"), new HiddenField("Date","Date"), new TextField("Title","Subject"), new TextField("Author","Author",$membername), new CompositeField( new LiteralField("BBCodeHelper","BBCode help
" ), new TextareaField("Content", "Content",20), new LiteralField("BBCodeTags","") ), new TextField("Tags","Tags"), new LiteralField("Tagsnote"," ") ); $submitAction = new FormAction('postblog', 'Post blog entry'); $actions = new FieldSet($submitAction); $validator = new RequiredFields('Title','Content'); $form = new BlogEntry_Form($this, 'BlogEntryForm',$fields, $actions,$validator); if($id != 0){ $form->loadNonBlankDataFrom(DataObject::get_by_id('BlogEntry',$id)); }else{ $form->loadNonBlankDataFrom(array("Author" => Cookie::get("BlogHolder_Name"))); } return $form; } function isPost(){ return Director::urlParam('Action') == 'post'; } function postURL(){ return $this->Link('post'); } function requireDefaultRecords() { parent::requireDefaultRecords(); if(!DataObject::get_one('BlogHolder')) { $blogholder = new BlogHolder(); $blogholder->Title = "Blog"; $blogholder->URLSegment = "blog"; $blogholder->Status = "Published"; $widgetarea = new WidgetArea(); $widgetarea->write(); $blogholder->SideBarID = $widgetarea->ID; $blogholder->write(); $blogholder->publish("Stage", "Live"); $managementwidget = new BlogManagementWidget(); $managementwidget->ParentID = $widgetarea->ID; $managementwidget->write(); $tagcloudwidget = new TagCloudWidget(); $tagcloudwidget->ParentID = $widgetarea->ID; $tagcloudwidget->write(); $archivewidget = new ArchiveWidget(); $archivewidget->ParentID = $widgetarea->ID; $archivewidget->write(); $widgetarea->write(); $blog = new BlogEntry(); $blog->Title = "SilverStripe blog module successfully installed"; $blog->URLSegment = 'sample-blog-entry'; $blog->setDate(date("Y-m-d H:i:s",time())); $blog->Tags = "silverstripe, blog"; $blog->Content = "Congratulations, the SilverStripe blog module has been successfully installed. This blog entry can be safely deleted. You can configure aspects of your blog (such as the widgets displayed in the sidebar) in [url=admin]the CMS[/url]."; $blog->Status = "Published"; $blog->ParentID = $blogholder->ID; $blog->write(); $blog->publish("Stage", "Live"); Database::alteration_message("Blog page created","created"); } } } class BlogHolder_Controller extends Page_Controller { function init() { parent::init(); // This will create a tag point to the RSS feed RSSFeed::linkToFeed($this->Link() . "rss", "RSS feed of this blog"); Requirements::themedCSS("blog"); Requirements::themedCSS("bbcodehelp"); } function showarchive() { $month = addslashes($this->urlParams['ID']); return array( "Children" => DataObject::get('SiteTree', "ParentID = $this->ID AND DATE_FORMAT(`BlogEntry`.`Date`, '%Y-%M') = '$month'"), ); } function ArchiveMonths() { $months = DB::query("SELECT DISTINCT DATE_FORMAT(`BlogEntry`.`Date`, '%M') AS `Month`, DATE_FORMAT(`BlogEntry`.`Date`, '%Y') AS `Year` FROM `BlogEntry` ORDER BY `BlogEntry`.`Date` DESC"); $output = new DataObjectSet(); foreach($months as $month) { $month['Link'] = $this->Link() . "showarchive/$month[Year]-$month[Month]"; $output->push(new ArrayData($month)); } return $output; } function rss() { global $project; $rss = new RSSFeed($this->Children(), $this->Link(), $project . " blog", "", "Title", "ParsedContent"); $rss->outputToBrowser(); } function BBTags() { return BBCodeParser::usable_tags(); } function post(){ if(!Permission::check('ADMIN')){ Security::permissionFailure($this, "Posting blogs is an administrator task. Please log in."); } return array(); } } class BlogEntry_Form extends Form { function postblog($data) { Cookie::set("BlogHolder_Name", $data['Author']); $blogentry = new BlogEntry(); $this->saveInto($blogentry); if($data['ID'] != 0){ //new post $blogentry = DataObject::get_by_id("BlogEntry",$data['ID']); $this->saveInto($blogentry); $blogentry->setDate($data['Date']); }else{ $blogentry->setDate(date("Y-m-d H:i:s",time())); $blogentry->URLSegment = $data['Title']; } $blogentry->Status = "Published"; $blogentry->writeToStage("Stage"); $blogentry->publish("Stage", "Live"); Director::redirect(Director::currentURLSegment()); } } ?>removeFieldFromTab("Root.Content.Main","Content"); return $fields; } public function News($limit = 10) { $start = isset($_GET['start']) ? (int)$_GET['start'] : 0; $dateCheck = ""; if(Director::urlParams()){ $year = Director::urlParam('Action'); $month = Director::urlParam('ID'); if(is_numeric($month) && is_numeric($month)){ $dateCheck = "AND Date BETWEEN '$year-$month-1' AND '$year-$month-31'"; } else if(isset($year)){ $dateCheck = "AND Date BETWEEN '$year-1-1' AND '$year-12-31'"; } } return DataObject::get("Page","`ParentID` = $this->ID AND ShowInMenus = 1 $dateCheck","`NewsPage`.Date DESC",'',"$start, $limit"); } } class NewsHolder_Controller extends Page_Controller { } ?> 'Date', "Author" => "Text" ); static $casting = array( "Date" => "Date" ); static $has_one = array( ); /** * overload so that the default date is today. */ public function populateDefaults(){ parent::populateDefaults(); $this->Date = date("d/m/Y H:i:s",time()); } /** * Ensures the most recent article edited on the same day is shown first. */ public function setDate($val){ $datepart = date("Y-m-d",strtotime($val)); $minutepart = date("H:i:s",time()); $date = $datepart . " " . $minutepart; return $this->setField("Date",$date); } function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeFieldFromTab("Root.Content.Main","Content"); $fields->addFieldToTab("Root.Content.Main", new HTMLEditorField("Content", "Content", 20)); $fields->addFieldToTab("Root.Content.Main", new CalendarDateField("Date", "Date"),"Content"); $fields->addFieldToTab('Root.Content.Main', new TextField('Author'), 'Content'); return $fields; } function ParagraphSummary(){ $content = new Text('Content'); $content->value = Convert::html2raw($this->Content); return $content->FirstParagraph(); } } class NewsPage_Controller extends GeneralPage_Controller { } ?> Galerie Zero | Digicrafts Flash Components for Carousel Menu, Cover Flow Gallery, Slideshow, FLV Player, Banner Rotator
This content required Flash Player and JavaScript 1.2. You can download the flash player by visit the link below. And enable javascript from browser options.

Get Adobe Flash player

Galerie is a name of a photo gallery flash components series. These components are developed for building a fantastic photo gallery with minimum afford and maximum creativity. All gallery components in the series are easy to use. No action script is needed. User friendly UI with fully customize options. Beside friendly UI, it also included powerful action script API designer to maximize their creativity.

Galerie [zero] is a dynamic sliding gallery with fantastic sliding motion effect. Tons of options made it fully customizable. Customize border with shadow effect. Dynamic motion with motion blur effect. Minimize workflow time by use conjunctive with Adobe Photoshop. Product included ready to use gallery example source code for full flash gallery and Flash+AJAX gallery.

Features
  • Simple UI for easy setup
  • No Action Script needed
  • Prefect Sliding effect
  • Fully compatible with Adobe Photoshop generated photo gallery
  • Customizable dynamic motion
  • Shadow Effect
  • Motion blur effect
  • Customizable border
  • Customizable photo's distance
  • Customizable photo's alignment
  • Skinnable loader
  • Include gallery template ( html + flash)
  • Include GalerieConnect Javscript Library ( Connect with AJAX)
  • Fully Action Script 2.0 support ( Free upgrade to AS3 version when available)
Requirements
  • Authoring environment:
    AS 2 version: Macromedia Flash 8 or CS3 for authoring (Windows or Mac).

  • Publishing environment:
    AS 2 version: Flash Player 8 or 9, ActionScript 2.0