Showing posts with label Joomla. Show all posts
Showing posts with label Joomla. Show all posts

Saturday, September 3, 2016

How to configure com_api with Joomla?

Software required (Assume Joomla is installed)
- Joomla version 3.6.2
- com_api plugin (ac_api_installer_v1.8.5.zip)

Installation steps

  • Login into admin console, click on "Extensions" → "Manage" → "Install" menu

  • Upload extension zip file to install the plugin.
  • Click on "Components" → "Api" → "API Keys", click on "New" button at "API Keys" page to launch "Add New Key" page

  • Click "User" button to add an user, click "Save & Close" button to dismiss the page. API key for the selected user is generated.

  • . Source code below is use to call "users" api from com_api, response in json format is returned
  • <?php
    
    $url="http://localhost/home/index.php?option=com_api&format=raw&app=users&resource=users&key=08a3ffdf9243bc883849e689c3749293"; 
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_NOBODY, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    $resp = curl_exec($ch);
    print_r($resp);
    
    // Close request to clear up some resources
    curl_close($ch);
    
  • Source code below is use to call "login" api from com_api, response in json format is returned
  • <?php
    $url="http://localhost/home/index.php?option=com_api&format=raw&app=users&resource=login&key=08a3ffdf9243bc883849e689c3749293"; 
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_NOBODY, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_exec($ch);
    
    $html = curl_exec($ch);
    print_r($html);
    
    curl_close($ch);
    
    

  • Source code below is use to call "config" api from com_api, response in json format is returned
  • <?php
    
    $url="http://localhost/home/index.php?option=com_api&format=raw&app=users&resource=config&key=08a3ffdf9243bc883849e689c3749293"; 
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_NOBODY, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_exec($ch);
    $html = curl_exec($ch);
    
    print_r($html);
    
    curl_close($ch);
    



Sunday, August 14, 2016

How to configure gmail SMTP in Joomla?

Configure Gmail SMTP details

  • Login as "Administrator", click on "System" → "Global Configuration" menu. Click on "Server" submenu.

  • Fill in the details as shown below
  1. Send Mail: YES
  2. Disable Mass Mail: YES
  3. From email: [Your Gmail Accout]
  4. From Name: [Your Name]
  5. Mailer: SMTP
  6. SMTP Host: smtp.gmail.com
  7. SMTP Port 465
  8. SMTP Security: SSL/TLS
  9. SMTP Authentiation: YES
  10. SMTP Username: [Your Gmail Username]
  11. SMTP Password: [Your Gmail Password]
  • Make sure the extension=php_openssl.dll is enabled at php.ini
  • Click on "Send Test Mail" button to test the mail is delivered.

Saturday, August 13, 2016

How to hide and show menu based on user group in Joomla?

In order to show restricted menus to logged in user, below are the steps and configuration required

Create new "User Group"
  • Login as "Administrator", click on "Users" → "Groups" → "Add New Groups" menu. Add a new group with the name as "Custom".


  • Add user to the user group, for example, "user1" to "Custom" group.
  • Click on "System" → "Global Configuration" menu. Select "Permissions" tab, ensure "Custom" group "Site Login" action is set to "Allowed".



Create New Access Level

  • Click on "Users" → "Access Levels" → "Add New Access Level" menu. Add new level details as "Custom Level", select "Custom" user group.

Configure "Menu" access control
  • Click on "Menus" → "All Menu Items" menu, select a menu item "About Us" and assign the "Access" value to "Custom Level".

     
  • Assign 2 menu items as "Custom Level"

Verify the behaviour
  • Before login as "user1", launch the page, 2 menu items are displayed
  • Login as "user1", 4 menu items are displayed