SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Joomla! Reborn: coding in version 1.5 Joe LeBlanc
It finally works the way you always wanted ,[object Object],[object Object],[object Object],[object Object],[object Object]
Goodbye Register Globals! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Valid XHTML Transitional ,[object Object],[object Object],[object Object],$document =& JFactory::getDocument(); $document->addStyleSheet('path/to/style.css'); $document->addScript('path/to/script.js');
Streamlined Execution ,[object Object],[object Object],[object Object]
Streamlined Execution (contd.) Joomla! 1.5 $mainframe->route(); $Itemid = JRequest::getInt( 'Itemid'); $mainframe->authorize($Itemid); Joomla ! 1.0 if ( $option == 'com_content' && $Itemid === 0 ) { $id  = intval( mosGetParam( $_REQUEST, 'id', 0 ) ); $Itemid = $mainframe->getItemid( $id ); } if ( $Itemid === 0 ) { $query = "SELECT id" . " FROM #__menu" . " WHERE menutype = 'mainmenu'" . " AND published = 1" . " ORDER BY parent, ordering" ; $database->setQuery( $query, 0, 1 ); $Itemid = $database->loadResult(); }
Streamlined Execution (contd.) ,[object Object],[object Object],[object Object]
XML Configuration Improved ,[object Object],[object Object],[object Object]
Component Parameters Pulls from component XML
Modules are finally reusable! ,[object Object]
Modules are finally reusable! (contd.) Without title, default settings With title, default settings With title, button, and overridden default text
Joomla! 1.0 was “MVC lite” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Real Model View Controller ,[object Object],[object Object],[object Object]
Models ,[object Object],[object Object]
Views ,[object Object],Joomla! 1.0 Joomla! 1.5
Views (contd.) ,[object Object]
Controllers ,[object Object],[object Object],[object Object]
Controllers (contd.) switch ($task) { case 'edit': editRecord($id); break; default: viewRecords(); break; } function editRecord($id) { ... } ... class RecordsController extends JController { function edit() { ... } function display() { parent::display(); } } Joomla! 1.0 Joomla! 1.5
Controllers - display() ,[object Object],[object Object],[object Object],[object Object],http://www.site.com/index.php?option=com_vegetables& view=list
Routing & SEF URLs ,[object Object],[object Object],[object Object],[object Object],[object Object]
router.php - Building Route function VegetablesBuildRoute(&$query) { $segments = array(); $segments[] = $query['view']; unset($query['view']); $segments[] = $query['page']; unset($query['page']); return $segments; }
router.php Parsing Route function VegetablesParseRoute($segments) { $vars = array(); $vars['view'] = $segments[0]; $vars['page'] = $segments[1]; return $vars; }
More information ,[object Object],[object Object],[object Object]
Shameless Plugs ,[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

In The Brain of Cagatay Civici: Exploring JavaServer Faces 2.0 and PrimeFaces
In The Brain of Cagatay Civici: Exploring JavaServer Faces 2.0 and PrimeFaces In The Brain of Cagatay Civici: Exploring JavaServer Faces 2.0 and PrimeFaces
In The Brain of Cagatay Civici: Exploring JavaServer Faces 2.0 and PrimeFaces Skills Matter
 
[FEConf Korea 2017]Angular 컴포넌트 대화법
[FEConf Korea 2017]Angular 컴포넌트 대화법[FEConf Korea 2017]Angular 컴포넌트 대화법
[FEConf Korea 2017]Angular 컴포넌트 대화법Jeado Ko
 
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...Peter Martin
 
Benefit of CodeIgniter php framework
Benefit of CodeIgniter php frameworkBenefit of CodeIgniter php framework
Benefit of CodeIgniter php frameworkBo-Yi Wu
 
DrupalCon Dublin 2016 - Automated browser testing with Nightwatch.js
DrupalCon Dublin 2016 - Automated browser testing with Nightwatch.jsDrupalCon Dublin 2016 - Automated browser testing with Nightwatch.js
DrupalCon Dublin 2016 - Automated browser testing with Nightwatch.jsVladimir Roudakov
 
Angular js routing options
Angular js routing optionsAngular js routing options
Angular js routing optionsNir Kaufman
 
How routing works in angular js
How routing works in angular jsHow routing works in angular js
How routing works in angular jscodeandyou forums
 
Beyond PrettyFaces - Einführung in Rewrite
Beyond PrettyFaces - Einführung in RewriteBeyond PrettyFaces - Einführung in Rewrite
Beyond PrettyFaces - Einführung in RewriteChristian Kaltepoth
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...Uniface
 
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014Peter Martin
 
Why angular js Framework
Why angular js Framework Why angular js Framework
Why angular js Framework Sakthi Bro
 
MVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web ApplicationsMVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web ApplicationsVforce Infotech
 
Bài 12: JSF-2 - Lập Trình Mạng Nâng Cao
Bài 12:  JSF-2 - Lập Trình Mạng Nâng CaoBài 12:  JSF-2 - Lập Trình Mạng Nâng Cao
Bài 12: JSF-2 - Lập Trình Mạng Nâng CaoTuan Nguyen
 

Was ist angesagt? (19)

Introducing jee7 – jsf 2
Introducing jee7 – jsf 2Introducing jee7 – jsf 2
Introducing jee7 – jsf 2
 
In The Brain of Cagatay Civici: Exploring JavaServer Faces 2.0 and PrimeFaces
In The Brain of Cagatay Civici: Exploring JavaServer Faces 2.0 and PrimeFaces In The Brain of Cagatay Civici: Exploring JavaServer Faces 2.0 and PrimeFaces
In The Brain of Cagatay Civici: Exploring JavaServer Faces 2.0 and PrimeFaces
 
[FEConf Korea 2017]Angular 컴포넌트 대화법
[FEConf Korea 2017]Angular 컴포넌트 대화법[FEConf Korea 2017]Angular 컴포넌트 대화법
[FEConf Korea 2017]Angular 컴포넌트 대화법
 
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
 
Benefit of CodeIgniter php framework
Benefit of CodeIgniter php frameworkBenefit of CodeIgniter php framework
Benefit of CodeIgniter php framework
 
JBoss Seam vs JSF
JBoss Seam vs JSFJBoss Seam vs JSF
JBoss Seam vs JSF
 
DrupalCon Dublin 2016 - Automated browser testing with Nightwatch.js
DrupalCon Dublin 2016 - Automated browser testing with Nightwatch.jsDrupalCon Dublin 2016 - Automated browser testing with Nightwatch.js
DrupalCon Dublin 2016 - Automated browser testing with Nightwatch.js
 
Angular js routing options
Angular js routing optionsAngular js routing options
Angular js routing options
 
How routing works in angular js
How routing works in angular jsHow routing works in angular js
How routing works in angular js
 
Beyond PrettyFaces - Einführung in Rewrite
Beyond PrettyFaces - Einführung in RewriteBeyond PrettyFaces - Einführung in Rewrite
Beyond PrettyFaces - Einführung in Rewrite
 
Yerbabuena eRCP OSGi-based
Yerbabuena eRCP OSGi-basedYerbabuena eRCP OSGi-based
Yerbabuena eRCP OSGi-based
 
2. 엔티티 매핑(entity mapping) 2 2 엔티티매핑 2-2-4. 식별자 자동 생성(@generated-value)3
2. 엔티티 매핑(entity mapping) 2 2 엔티티매핑 2-2-4. 식별자 자동 생성(@generated-value)32. 엔티티 매핑(entity mapping) 2 2 엔티티매핑 2-2-4. 식별자 자동 생성(@generated-value)3
2. 엔티티 매핑(entity mapping) 2 2 엔티티매핑 2-2-4. 식별자 자동 생성(@generated-value)3
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
 
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
 
PHP & MVC
PHP & MVCPHP & MVC
PHP & MVC
 
Why angular js Framework
Why angular js Framework Why angular js Framework
Why angular js Framework
 
MVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web ApplicationsMVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web Applications
 
Bài 12: JSF-2 - Lập Trình Mạng Nâng Cao
Bài 12:  JSF-2 - Lập Trình Mạng Nâng CaoBài 12:  JSF-2 - Lập Trình Mạng Nâng Cao
Bài 12: JSF-2 - Lập Trình Mạng Nâng Cao
 
13.exemplu closure controller
13.exemplu closure controller13.exemplu closure controller
13.exemplu closure controller
 

Andere mochten auch

Trabajo Alexis
Trabajo AlexisTrabajo Alexis
Trabajo Alexismarxiano
 
Los 10 "Coños" Más Famosos
Los 10 "Coños" Más FamososLos 10 "Coños" Más Famosos
Los 10 "Coños" Más FamososEl Pinky
 
Hablemos sobre Internet
Hablemos sobre InternetHablemos sobre Internet
Hablemos sobre Internetavoyali
 
Tudo ComeçA Aqui
Tudo ComeçA AquiTudo ComeçA Aqui
Tudo ComeçA Aquicab3032
 
Mi Presentación11111
Mi Presentación11111Mi Presentación11111
Mi Presentación11111fedeutp
 
Practica 22 Listra
Practica 22 ListraPractica 22 Listra
Practica 22 Listraguest6d406b
 
山行記録共有データベース「ヤマレコ」
山行記録共有データベース「ヤマレコ」山行記録共有データベース「ヤマレコ」
山行記録共有データベース「ヤマレコ」Kazumine Matoba
 
First Jan 2008 New Year Slide Show
First Jan 2008 New Year Slide ShowFirst Jan 2008 New Year Slide Show
First Jan 2008 New Year Slide Showguestb5c9dc
 
Jackrabbit by Breaonna
Jackrabbit by BreaonnaJackrabbit by Breaonna
Jackrabbit by Breaonnavebrya
 
Software De DiseñO
Software De DiseñOSoftware De DiseñO
Software De DiseñOEquipoAzul
 

Andere mochten auch (20)

Trabajo Alexis
Trabajo AlexisTrabajo Alexis
Trabajo Alexis
 
Los 10 "Coños" Más Famosos
Los 10 "Coños" Más FamososLos 10 "Coños" Más Famosos
Los 10 "Coños" Más Famosos
 
4.2 Homework (Completed)
4.2 Homework (Completed)4.2 Homework (Completed)
4.2 Homework (Completed)
 
Dian Fossey
Dian FosseyDian Fossey
Dian Fossey
 
Hablemos sobre Internet
Hablemos sobre InternetHablemos sobre Internet
Hablemos sobre Internet
 
Tudo ComeçA Aqui
Tudo ComeçA AquiTudo ComeçA Aqui
Tudo ComeçA Aqui
 
Mi Presentación11111
Mi Presentación11111Mi Presentación11111
Mi Presentación11111
 
Practica 22 Listra
Practica 22 ListraPractica 22 Listra
Practica 22 Listra
 
O instante
O instanteO instante
O instante
 
山行記録共有データベース「ヤマレコ」
山行記録共有データベース「ヤマレコ」山行記録共有データベース「ヤマレコ」
山行記録共有データベース「ヤマレコ」
 
00 Herz 1
00 Herz 100 Herz 1
00 Herz 1
 
00 Herz 1
00 Herz 100 Herz 1
00 Herz 1
 
Paz
PazPaz
Paz
 
Photos Aerienne
Photos AeriennePhotos Aerienne
Photos Aerienne
 
Presentacion Digete Distancia Tv Educativa
Presentacion Digete Distancia Tv EducativaPresentacion Digete Distancia Tv Educativa
Presentacion Digete Distancia Tv Educativa
 
Avui Anemal Japó!
Avui Anemal Japó!Avui Anemal Japó!
Avui Anemal Japó!
 
Portfolio
PortfolioPortfolio
Portfolio
 
First Jan 2008 New Year Slide Show
First Jan 2008 New Year Slide ShowFirst Jan 2008 New Year Slide Show
First Jan 2008 New Year Slide Show
 
Jackrabbit by Breaonna
Jackrabbit by BreaonnaJackrabbit by Breaonna
Jackrabbit by Breaonna
 
Software De DiseñO
Software De DiseñOSoftware De DiseñO
Software De DiseñO
 

Ähnlich wie Joomla 1.5 Reborn: Improved Security, Routing & MVC

Introduction to Plugin Programming, WordCamp Miami 2011
Introduction to Plugin Programming, WordCamp Miami 2011Introduction to Plugin Programming, WordCamp Miami 2011
Introduction to Plugin Programming, WordCamp Miami 2011David Carr
 
Intro To Mvc Development In Php
Intro To Mvc Development In PhpIntro To Mvc Development In Php
Intro To Mvc Development In Phpfunkatron
 
Javascript frameworks: Backbone.js
Javascript frameworks: Backbone.jsJavascript frameworks: Backbone.js
Javascript frameworks: Backbone.jsSoós Gábor
 
Exploring Symfony's Code
Exploring Symfony's CodeExploring Symfony's Code
Exploring Symfony's CodeWildan Maulana
 
Zend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolZend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolGordon Forsythe
 
MVC & SQL_In_1_Hour
MVC & SQL_In_1_HourMVC & SQL_In_1_Hour
MVC & SQL_In_1_HourDilip Patel
 
Web Components v1
Web Components v1Web Components v1
Web Components v1Mike Wilcox
 
Advance Component Development by Azrul Rahim
Advance Component Development by Azrul RahimAdvance Component Development by Azrul Rahim
Advance Component Development by Azrul RahimJohn Coonen
 
Working With The Symfony Admin Generator
Working With The Symfony Admin GeneratorWorking With The Symfony Admin Generator
Working With The Symfony Admin GeneratorJohn Cleveley
 
jQuery Tips Tricks Trivia
jQuery Tips Tricks TriviajQuery Tips Tricks Trivia
jQuery Tips Tricks TriviaCognizant
 
jQuery in the [Aol.] Enterprise
jQuery in the [Aol.] EnterprisejQuery in the [Aol.] Enterprise
jQuery in the [Aol.] EnterpriseDave Artz
 
Introduction To Code Igniter
Introduction To Code IgniterIntroduction To Code Igniter
Introduction To Code IgniterAmzad Hossain
 
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Arun Gupta
 
Javascript ui for rest services
Javascript ui for rest servicesJavascript ui for rest services
Javascript ui for rest servicesIoan Eugen Stan
 
Simple module Development in Joomla! 2.5
Simple module Development in Joomla! 2.5Simple module Development in Joomla! 2.5
Simple module Development in Joomla! 2.5Vishwash Gaur
 

Ähnlich wie Joomla 1.5 Reborn: Improved Security, Routing & MVC (20)

Introduction to Plugin Programming, WordCamp Miami 2011
Introduction to Plugin Programming, WordCamp Miami 2011Introduction to Plugin Programming, WordCamp Miami 2011
Introduction to Plugin Programming, WordCamp Miami 2011
 
Intro To Mvc Development In Php
Intro To Mvc Development In PhpIntro To Mvc Development In Php
Intro To Mvc Development In Php
 
Javascript frameworks: Backbone.js
Javascript frameworks: Backbone.jsJavascript frameworks: Backbone.js
Javascript frameworks: Backbone.js
 
Exploring Symfony's Code
Exploring Symfony's CodeExploring Symfony's Code
Exploring Symfony's Code
 
J query training
J query trainingJ query training
J query training
 
前端概述
前端概述前端概述
前端概述
 
Zend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolZend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_Tool
 
MVC & SQL_In_1_Hour
MVC & SQL_In_1_HourMVC & SQL_In_1_Hour
MVC & SQL_In_1_Hour
 
Wt unit 5
Wt unit 5Wt unit 5
Wt unit 5
 
Web Components v1
Web Components v1Web Components v1
Web Components v1
 
Advance Component Development by Azrul Rahim
Advance Component Development by Azrul RahimAdvance Component Development by Azrul Rahim
Advance Component Development by Azrul Rahim
 
Working With The Symfony Admin Generator
Working With The Symfony Admin GeneratorWorking With The Symfony Admin Generator
Working With The Symfony Admin Generator
 
jQuery Tips Tricks Trivia
jQuery Tips Tricks TriviajQuery Tips Tricks Trivia
jQuery Tips Tricks Trivia
 
jQuery in the [Aol.] Enterprise
jQuery in the [Aol.] EnterprisejQuery in the [Aol.] Enterprise
jQuery in the [Aol.] Enterprise
 
Introduction To Code Igniter
Introduction To Code IgniterIntroduction To Code Igniter
Introduction To Code Igniter
 
IOC + Javascript
IOC + JavascriptIOC + Javascript
IOC + Javascript
 
jQuery
jQueryjQuery
jQuery
 
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
 
Javascript ui for rest services
Javascript ui for rest servicesJavascript ui for rest services
Javascript ui for rest services
 
Simple module Development in Joomla! 2.5
Simple module Development in Joomla! 2.5Simple module Development in Joomla! 2.5
Simple module Development in Joomla! 2.5
 

Mehr von John Coonen

Dead Simple Design 3 - For Web Designers
Dead Simple Design 3 - For Web DesignersDead Simple Design 3 - For Web Designers
Dead Simple Design 3 - For Web DesignersJohn Coonen
 
Featured CMS Invitation: 2012 CMS Expo
Featured CMS Invitation: 2012 CMS ExpoFeatured CMS Invitation: 2012 CMS Expo
Featured CMS Invitation: 2012 CMS ExpoJohn Coonen
 
Joomla Chicago Meeting July, 2009: CMS CageMatch II
Joomla Chicago Meeting July, 2009: CMS CageMatch IIJoomla Chicago Meeting July, 2009: CMS CageMatch II
Joomla Chicago Meeting July, 2009: CMS CageMatch IIJohn Coonen
 
Must-Have Joomla Extensions by Ken Lyle
Must-Have Joomla Extensions by Ken LyleMust-Have Joomla Extensions by Ken Lyle
Must-Have Joomla Extensions by Ken LyleJohn Coonen
 
corePHP Usability Accessibility by Steven Pignataro
corePHP Usability Accessibility by Steven PignatarocorePHP Usability Accessibility by Steven Pignataro
corePHP Usability Accessibility by Steven PignataroJohn Coonen
 
Components, Modules and Plugins, Oh My! by Bill Tomczak
Components, Modules and Plugins, Oh My! by Bill TomczakComponents, Modules and Plugins, Oh My! by Bill Tomczak
Components, Modules and Plugins, Oh My! by Bill TomczakJohn Coonen
 
Disaster Recovery by Tom Canavan
Disaster Recovery by Tom CanavanDisaster Recovery by Tom Canavan
Disaster Recovery by Tom CanavanJohn Coonen
 
Disaster And Business Continuity by Tom Canavan
Disaster And Business Continuity by Tom CanavanDisaster And Business Continuity by Tom Canavan
Disaster And Business Continuity by Tom CanavanJohn Coonen
 
Content Is King by Tom Elliott & Samantha Bovat
Content Is King by Tom Elliott & Samantha BovatContent Is King by Tom Elliott & Samantha Bovat
Content Is King by Tom Elliott & Samantha BovatJohn Coonen
 
Website Planning 201 by Jen McKibben
Website Planning 201 by Jen McKibbenWebsite Planning 201 by Jen McKibben
Website Planning 201 by Jen McKibbenJohn Coonen
 
Clear, Concise Content for the Web by Samantha Bovat
Clear, Concise Content for the Web by Samantha BovatClear, Concise Content for the Web by Samantha Bovat
Clear, Concise Content for the Web by Samantha BovatJohn Coonen
 
Building Online Communities with Barrie North
Building Online Communities with Barrie NorthBuilding Online Communities with Barrie North
Building Online Communities with Barrie NorthJohn Coonen
 
Creating CSS Template with Barrie North
Creating CSS Template with Barrie NorthCreating CSS Template with Barrie North
Creating CSS Template with Barrie NorthJohn Coonen
 
Website Planning 101 with Jen McKibben
Website Planning 101 with Jen McKibbenWebsite Planning 101 with Jen McKibben
Website Planning 101 with Jen McKibbenJohn Coonen
 
JoomlaEXPO: Search Engine Friendly URLs - Azrul.com
JoomlaEXPO: Search Engine Friendly URLs - Azrul.comJoomlaEXPO: Search Engine Friendly URLs - Azrul.com
JoomlaEXPO: Search Engine Friendly URLs - Azrul.comJohn Coonen
 
Victor Drover JoomlaEXPO
Victor Drover JoomlaEXPOVictor Drover JoomlaEXPO
Victor Drover JoomlaEXPOJohn Coonen
 
Barrie North: Building Better Sites In Joomla 1.5
Barrie North: Building Better Sites In Joomla 1.5Barrie North: Building Better Sites In Joomla 1.5
Barrie North: Building Better Sites In Joomla 1.5John Coonen
 
Tom Canavan Joomla Security and Disaster Recovery
Tom Canavan Joomla Security and Disaster RecoveryTom Canavan Joomla Security and Disaster Recovery
Tom Canavan Joomla Security and Disaster RecoveryJohn Coonen
 
Core Php Component Presentation
Core Php Component PresentationCore Php Component Presentation
Core Php Component PresentationJohn Coonen
 

Mehr von John Coonen (19)

Dead Simple Design 3 - For Web Designers
Dead Simple Design 3 - For Web DesignersDead Simple Design 3 - For Web Designers
Dead Simple Design 3 - For Web Designers
 
Featured CMS Invitation: 2012 CMS Expo
Featured CMS Invitation: 2012 CMS ExpoFeatured CMS Invitation: 2012 CMS Expo
Featured CMS Invitation: 2012 CMS Expo
 
Joomla Chicago Meeting July, 2009: CMS CageMatch II
Joomla Chicago Meeting July, 2009: CMS CageMatch IIJoomla Chicago Meeting July, 2009: CMS CageMatch II
Joomla Chicago Meeting July, 2009: CMS CageMatch II
 
Must-Have Joomla Extensions by Ken Lyle
Must-Have Joomla Extensions by Ken LyleMust-Have Joomla Extensions by Ken Lyle
Must-Have Joomla Extensions by Ken Lyle
 
corePHP Usability Accessibility by Steven Pignataro
corePHP Usability Accessibility by Steven PignatarocorePHP Usability Accessibility by Steven Pignataro
corePHP Usability Accessibility by Steven Pignataro
 
Components, Modules and Plugins, Oh My! by Bill Tomczak
Components, Modules and Plugins, Oh My! by Bill TomczakComponents, Modules and Plugins, Oh My! by Bill Tomczak
Components, Modules and Plugins, Oh My! by Bill Tomczak
 
Disaster Recovery by Tom Canavan
Disaster Recovery by Tom CanavanDisaster Recovery by Tom Canavan
Disaster Recovery by Tom Canavan
 
Disaster And Business Continuity by Tom Canavan
Disaster And Business Continuity by Tom CanavanDisaster And Business Continuity by Tom Canavan
Disaster And Business Continuity by Tom Canavan
 
Content Is King by Tom Elliott & Samantha Bovat
Content Is King by Tom Elliott & Samantha BovatContent Is King by Tom Elliott & Samantha Bovat
Content Is King by Tom Elliott & Samantha Bovat
 
Website Planning 201 by Jen McKibben
Website Planning 201 by Jen McKibbenWebsite Planning 201 by Jen McKibben
Website Planning 201 by Jen McKibben
 
Clear, Concise Content for the Web by Samantha Bovat
Clear, Concise Content for the Web by Samantha BovatClear, Concise Content for the Web by Samantha Bovat
Clear, Concise Content for the Web by Samantha Bovat
 
Building Online Communities with Barrie North
Building Online Communities with Barrie NorthBuilding Online Communities with Barrie North
Building Online Communities with Barrie North
 
Creating CSS Template with Barrie North
Creating CSS Template with Barrie NorthCreating CSS Template with Barrie North
Creating CSS Template with Barrie North
 
Website Planning 101 with Jen McKibben
Website Planning 101 with Jen McKibbenWebsite Planning 101 with Jen McKibben
Website Planning 101 with Jen McKibben
 
JoomlaEXPO: Search Engine Friendly URLs - Azrul.com
JoomlaEXPO: Search Engine Friendly URLs - Azrul.comJoomlaEXPO: Search Engine Friendly URLs - Azrul.com
JoomlaEXPO: Search Engine Friendly URLs - Azrul.com
 
Victor Drover JoomlaEXPO
Victor Drover JoomlaEXPOVictor Drover JoomlaEXPO
Victor Drover JoomlaEXPO
 
Barrie North: Building Better Sites In Joomla 1.5
Barrie North: Building Better Sites In Joomla 1.5Barrie North: Building Better Sites In Joomla 1.5
Barrie North: Building Better Sites In Joomla 1.5
 
Tom Canavan Joomla Security and Disaster Recovery
Tom Canavan Joomla Security and Disaster RecoveryTom Canavan Joomla Security and Disaster Recovery
Tom Canavan Joomla Security and Disaster Recovery
 
Core Php Component Presentation
Core Php Component PresentationCore Php Component Presentation
Core Php Component Presentation
 

Kürzlich hochgeladen

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Joomla 1.5 Reborn: Improved Security, Routing & MVC

  • 1. Joomla! Reborn: coding in version 1.5 Joe LeBlanc
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Streamlined Execution (contd.) Joomla! 1.5 $mainframe->route(); $Itemid = JRequest::getInt( 'Itemid'); $mainframe->authorize($Itemid); Joomla ! 1.0 if ( $option == 'com_content' && $Itemid === 0 ) { $id = intval( mosGetParam( $_REQUEST, 'id', 0 ) ); $Itemid = $mainframe->getItemid( $id ); } if ( $Itemid === 0 ) { $query = "SELECT id" . " FROM #__menu" . " WHERE menutype = 'mainmenu'" . " AND published = 1" . " ORDER BY parent, ordering" ; $database->setQuery( $query, 0, 1 ); $Itemid = $database->loadResult(); }
  • 7.
  • 8.
  • 9. Component Parameters Pulls from component XML
  • 10.
  • 11. Modules are finally reusable! (contd.) Without title, default settings With title, default settings With title, button, and overridden default text
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Controllers (contd.) switch ($task) { case 'edit': editRecord($id); break; default: viewRecords(); break; } function editRecord($id) { ... } ... class RecordsController extends JController { function edit() { ... } function display() { parent::display(); } } Joomla! 1.0 Joomla! 1.5
  • 19.
  • 20.
  • 21. router.php - Building Route function VegetablesBuildRoute(&$query) { $segments = array(); $segments[] = $query['view']; unset($query['view']); $segments[] = $query['page']; unset($query['page']); return $segments; }
  • 22. router.php Parsing Route function VegetablesParseRoute($segments) { $vars = array(); $vars['view'] = $segments[0]; $vars['page'] = $segments[1]; return $vars; }
  • 23.
  • 24.