<?php
/*
    SEF Advance extension guide
    http://www.sakic.net/support/sef_advance_extensions/
*/

class sef_mydir {

    function 
create ($string) {
        global 
$database;
        if (empty(
$database)) {
            
// Joomla! 1.5 native
            
$database =& JFactory::getDBO();
        }
        
// $string == "index.php?option=com_mydir&Itemid=$Itemid&catid=$catid&id=$id"
        
$sefstring '';
        if (
eregi('&amp;catid=',$string)) {
            
$temp explode('&amp;catid='$string);
            
$temp explode('&'$temp[1]);
            
$catid $temp[0];
            
$query "SELECT name FROM #__mydir_categories "
                
."WHERE id='$catid'";
            
$database->setQuery($query);
            
$category $database->loadResult();
            
$sefstring .= sefencode($category).'/';
        }
        if (
eregi('&amp;id=',$string)) {
            
$temp explode('&amp;id='$string);
            
$temp explode('&'$temp[1]);
            
$id $temp[0];
            
$query "SELECT name FROM #__mydir_entries WHERE id='$id'";
            
$database->setQuery($query);
            
$entry $database->loadResult();
            
$sefstring .= sefencode($entry).'/';
        }
        
// $sefstring == "$category/$entry/"
        
return $sefstring;
    }

    function 
revert ($url_array$pos) {
        global 
$database;
        if (empty(
$database)) {
            
// Joomla! 1.5 native
            
$database =& JFactory::getDBO();
        }
        
$QUERY_STRING '';
        if (isset(
$url_array[$pos+2]) && $url_array[$pos+2]!='') {
            
// .../mydir/$category/
            
$category sefdecode($url_array[$pos+2]);
            
$query "SELECT id FROM #__mydir_categories "
                
."WHERE name='$category'";
            
$database->setQuery($query);
            
$catid $database->loadResult();
            
$_GET['catid'] = $_REQUEST['catid'] = $catid;
            
$QUERY_STRING .= "&catid=$catid";
        }
        if (isset(
$url_array[$pos+3]) && $url_array[$pos+3]!='') {
            
// .../mydir/$category/$entry/
            
$entry sefdecode($url_array[$pos+3]);
            
$query "SELECT id FROM #__mydir_entries "
                
."WHERE name='$entry' AND catid='$catid'";
            
$database->setQuery($query);
            
$id $database->loadResult();
            
$_GET['id'] = $_REQUEST['id'] = $id;
            
$QUERY_STRING .= "&id=$id";
        }
        
// $QUERY_STRING == "catid=$catid&id=$id";
        
return $QUERY_STRING;
    }

}
?>