| Joomla Components Migration (1.0.x to 1.5) | ![]() | ![]() | ![]() |
| Written by Administrator |
| Wednesday, 26 September 2007 13:54 |
Here are described necessary steps for proper code migration of Joomla 1.0.x components into new object and function environment of Joomla 1.5 (J15) running in native mode (non-legacy based on code of Joomla 1.5RC2 version) . Migration items can be clasified into the following groups:
For critical type of changes can we give here some examples - code snippets from new version of SearchLog component dedicated to native J15 operation : Front-end changes : Initial declaration ##IFDEF J15 defined( '_JEXEC' ) or die( 'Restricted access' ); require_once( JApplicationHelper::getPath('class') ); require_once( JApplicationHelper::getPath('front_html') ); jimport('joomla.application.component.controller'); jimport('joomla.application.component.helper'); ##ELSE #defined( '_VALID_MOS' ) or die( 'Restricted access' ); #require_once( $mainframe->getPath( 'class' ) ); #require_once( $mainframe->getPath( 'front_html' ) ); ##ENDIF Database definition ##IFDEF J15 $database = &JFactory::getDBO(); ##ELSE #global $database; ##ENDIF Request Query parameter ##IFDEF J15 $searchword = strval(JRequest::getVar( 'searchword', '' )); ##ELSE #$searchword = strval( mosGetParam( $_REQUEST, 'searchword', '' ) ); ##ENDIF Back-end changes : Initial declaration ##IFDEF J15 defined( '_JEXEC' ) or die( 'Restricted access' ); require_once( JApplicationHelper::getPath('class') ); require_once( JApplicationHelper::getPath('admin_html') ); jimport('joomla.application.component.controller'); jimport('joomla.application.component.helper'); jimport('joomla.database.table.component'); ##ELSE #defined( '_VALID_MOS' ) or die( 'Restricted access' ); #require_once( $mainframe->getPath( 'class' ) ); #require_once( $mainframe->getPath( 'admin_html' ) ); ##ENDIF Request Query parameter ##IFDEF J15 $task = JRequest::getVar('task'); ##ELSE #$task = mosGetParam($_REQUEST, 'task'); ##ENDIF Page redirection ##IFDEF J15 $mainframe->redirect('index2.php?option=' . $option . '&act=managelog'); ##ELSE #mosRedirect('index2.php?option=' . $option . '&act=managelog'); ##ENDIF Database definitions ##IFDEF J15 $database = &JFactory::getDBO(); ##ELSE #global $database; ##ENDIF ##IFDEF J15 $row = new JTableComponent($database); ##ELSE #$row = new mosComponent($database); ##ENDIF Parameters ##IFDEF J15 $params = new JParameter($row->params, $mainframe->getPath('com_xml', $row->option), 'component'); ##ELSE #$params = new mosParameters($row->params, $mainframe->getPath('com_xml', $row->option), 'component'); ##ENDIF Pagination ##IFDEF J15 $database = &JFactory::getDBO(); $limit= $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' ); $limitstart= $mainframe->getUserStateFromRequest( $option.'limitstart', 'limitstart', 0, 'int' ); $search= $mainframe->getUserStateFromRequest( $option.'.search','search','','string'); $search= JString::strtolower( $search ); $callbase = JRequest::getVar('callbase', 1); ##ELSE #global $database,$mosConfig_list_limit,$mosConfig_absolute_path; #$limit = intval($mainframe->getUserStateFromRequest("viewlistlimit", 'limit', $mosConfig_list_limit)); #$limitstart = intval($mainframe->getUserStateFromRequest("view{$option}limitstart", 'limitstart', 0)); #$search = $mainframe->getUserStateFromRequest("search{$option}", 'search', ''); #$search = $database->getEscaped(trim(strtolower($search))); #$callbase = mosGetParam($_REQUEST, 'callbase', 1); ##ENDIF
##IFDEF J15 jimport('joomla.html.pagination'); $pageNav = new JPagination( $total, $limitstart, $limit ); ##ELSE #require_once($GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php'); #$pageNav = new mosPageNav($total, $limitstart, $limit); ##ENDIF
Usage of cid parameter ##IFDEF J15 $database = &JFactory::getDBO(); $cid= JRequest::getVar( 'cid', array(0), '', 'array' ); JArrayHelper::toInteger($cid, array(0)); ##ELSE #global $database,$mosConfig_list_limit,$mosConfig_absolute_path; #$cid = josGetArrayInts('cid'); ##ENDIF |
| Last Updated on Saturday, 20 September 2008 10:57 |



