Skip to main content

Joomla redirection

Example of URL Redirection in joomla:
Suppose the user visits our component view page without logging in.
Then we want to force the user to login page (if he is not already logged in) and then redirect back to our page after logging in, and show a custom logout button.

This is a sample code in our component view:

<?php
$user =& JFactory::getUser();
global $mainframe;

if($user->id == 0)
{
$return_url = 'index.php?option=com_comments';
$return_url = urlencode(base64_encode($return_url));
$redirect_url = '&return='.$return_url;
$login_url = 'index.php?option=com_user&view=login';
$finalUrl = $login_url . $redirect_url;
$mainframe->redirect( $finalUrl, 'Please login or register before you post comment' );
}
else
{
 ?>
<table width="800">
<tr><td><?php echo 'Welcome <b>'.$user->name; ?></b></td>
<td align="right">
<form id="login" name="login" method="post" action="index.php?option=com_user">
<div class="readon">
        <input type="submit" value="Logout" class="button" name="Submit">
    </div>

<input type="hidden" value="com_user" name="option">
<input type="hidden" value="logout" name="task">
<input type="hidden" value="aW5kZXgucGhwP29wdGlvbj1jb21fY2Nhdg==" name="return">
</form>
</td>
</tr>
</table>
<?php
}
?>

Comments

Popular posts from this blog

php strip all tags

The below function can strip almost all tags from a string. function strip_all_tags($string) {     $string = preg_replace( '@<(script|style)[^>]*?>.*?@si', '', $string );     $string = strip_tags($string);     return trim($string); } $a = '<script type="text/javascript" src="jquery.js"></script> <div id="test" style="padding:5px; color:red;">Hello world</div>'; echo strip_all_tags($a); // outputs: Hello world

Joomla validate chrono forms using jquery

It is a common practice to use Chrono forms in our joomla site to setup various forms in the site, be it a contact us form, submit a ticket form, or whatever. I have set the option "validate form" to "No" under chronoform settings in admin panel, and also preferred to not include any js or css files. For validating the chrono forms, i prefer jquery. So first lets add jquery support in our joomla. It is quite simple: 1. Download jquery.js and jquery_min.js (1.4.2 version is enough) and place them in media/system/js folder of your joomla. 2. Edit libraries->joomla->html->html->behavior.php, and add the following function below the mootools() function: function jQuery($debug = null)     {         static $loaded;         global $mainframe;         // Only load once         if ($loaded) {    ...

joomla remove category name in url

-) If anyone is using the lyftenbloggie component, and want to remove the component name and category title from the sef url, follow this hack: (Note: You also need to install the lyftenbloggie extension for ARTIO SEF) Under components/com_sef/joomsef.php, After this code: $location = array();         foreach ($title as $titlePart) {             if (strlen($titlePart) == 0) continue;             $location[] = JoomSEF::_titleToLocation($titlePart);         } Just add this code: if($location[0] == 'lyftenbloggie')         {         $temp_sef = end($location);         $location = array();            $location[] = $temp_sef;         ...