Image Caption

Tuesday, November 27, 2012

Joomla admin side access restrictions

Step : 1 

//Prepare the user restriction code

$userlogin =& JFactory::getUser();
foreach($userlogin as $key=>$value)
{
  if($key=="gid")
  {
  $gid=$value;
//Get the current login user Group id
  }
}


//Add the components folder name you want to restrict in below array
$components=array(com_users, com_content, com_modules, com_installer);

//25 is User Group id. Restriction apply to this User Group.
if(addslashes(in_array($_REQUEST[option],$components) && $gid=="25" )
{
  $mainframe->redirect( 'index.php');
}

Step : 2

Place the above code before "echo"  in [ joomla/administrator/index.php ]


Saturday, November 24, 2012

JavaScript using onload replace ID, Class and Attributes


//Must replace the red colored text 

<script type="text/javascript">
function replaceSrc()
{

    var a= document.getElementsByTagName('TagName');

    for(var i = 0; i < a.length; i++)
    {
        var link= a[i];

        if(link.AttributesName == 'SearchValue')
        {
            link.AttributesName= 'ReplaceValue';
        }
    }
}

window.onload = replaceSrc();
</script>

//Demo code for Replace <a> Title attribute.


<script type="text/javascript">
function replaceSrc()
{

    var a= document.getElementsByTagName('a');

    for(var i = 0; i < a.length; i++)
    {
        var link= a[i];

        if(link.title == 'Publish')
        {
            link.title = 'Active';
        }
    }
}

window.onload = replaceSrc();
</script>

Friday, November 23, 2012

Add/Create New Joomla User using Custom code


Place the below code  in your component files and must change the red colored values 

jimport('joomla.user.helper');

$row1->username ='Username';
$row1->name=$row1->username;
$row1->email='Email';
$password = 'Password';
$salt = JUserHelper::genRandomPassword(32);
$crypt = JUserHelper::getCryptedPassword($password, $salt);
$row1->password= $crypt.':'.$salt;
$row1->usertype='Registered';
$row1->block='0';
$row1->sendEmail='0';
$row1->registerDate=date("m-d-Y");
$row1->gid='18';

$db =& JFactory::getDBO();

 $query = "INSERT INTO #__users (name, username, email, password, usertype, block, sendEmail, gid, registerDate, lastvisitDate, activation, params) VALUES
('$row1->name', '$row1->username', '$row1->email', '$row1->password', '$row1->usertype', $row1->block, $row1->sendEmail, $row1->gid, $row1->registerDate, '', '', 'language=en-GB\ntimezone=-6\n\n')";
$db->setQuery($query);
$db->query();

$primid=$db->insertid();
 $query = "INSERT INTO jos_core_acl_aro (section_value, value, name)
 VALUES('users','$primid','$row1->name')";
 $db->setQuery($query);
$db->query();

$primid=$db->insertid();
$query = "INSERT INTO jos_core_acl_groups_aro_map (group_id, aro_id)
 VALUES($row1->gid,'$primid')";
$db->setQuery($query);
$db->query();

Add Jpanel to Joomla administrator or site


Step:1
Add the below code to you component view page 
(administrator/components/your-component/view/your-view/tmpl/defaul.php)

<?php

JHTML::_('behavior.tooltip');
jimport('joomla.html.pane');

$pane = &JPane::getInstance('sliders', array('allowAllClose' => true));
//sliders (or) tabs

echo $pane->startPane("menu-pane");

echo $pane->startPanel(JText :: _('Slider1 Title'), "param-page");
echo 'slider1 content here';
echo $pane->endPanel();

echo $pane->startPanel(JText :: _('Slider1 Title'), "param-page");
echo 'slider2 content here';
echo $pane->endPanel();

echo $pane->endPane();

?>