Friday 28 March 2014

Use of in_array function in smarty

use of  in_array function in smarty
{if in_array($needle, $array)} {/if}

Get Domain name from the URL using php function

function get_domain($url)
{
  $pieces = parse_url($url);
  $domain = isset($pieces['host']) ? $pieces['host'] : '';
  if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) {
    return $regs['domain'];
  }
  return false;
}

print get_domain("http://www.sanajyrao.com"); // outputs 'sanajyrao.com'
print get_domain("http://www.demo.sanajyrao.com"); // outputs 'sanajyrao.com'
print get_domain("http://demo.sanajyrao.com"); // outputs 'sanajyrao.com'
print get_domain("http://sanajyrao.com"); // outputs 'sanajyrao.com'

Sort Array values using specific(particuler) Key of array

function sort_arr_of_obj($array, $sortby, $direction='asc') {
   
    $sortedArr = array();
    $tmp_Array = array();
   
    foreach($array as $k => $v) {
        $tmp_Array[] = strtolower($v[$sortby]);
    }
   
    if($direction=='asc'){
        asort($tmp_Array);
    }else{
        arsort($tmp_Array);
    }
   
    foreach($tmp_Array as $k=>$tmp){
        $sortedArr[] = $array[$k];
    }
   
    return $sortedArr;

}

$myArray=array(0=>array('size'=>5,'name'=>'Five'),1=>array('size'=>3,'name'=>'Three'),2=>array('size'=>9,'name'=>'Nine'));
$myArray=sort_arr_of_obj($myArray,'size','asc');


Tuesday 11 March 2014

How to Check Url Access In YII for Role based Access

Below function return true and false(1 or null) either yii user is able to access the url(authItemName) or not.

Explample.
Player list
$url = http://localhost/YiiProject/index.php?r=player/playerList/index
$allowedAccess = $this->checkUrlAccess($url );
if($allowedAccess){
 echo "You are allowed to access Url";
}else{
 echo 'Access denied';
}
function checkUrlAccess($authItemName)
  {
     #New Code ADDED            
            $allowedAccess='';
        if (strpos($authItemName, '?r=') != false)
        {
                   
            $urlQueryString=explode('?r=',$authItemName);          
            if (strpos($urlQueryString[1], '/') != false)
            {
                $parts = explode('/', $urlQueryString[1]);
                if ($this->upperCaseFirstLetter)
                {
                  foreach ($parts as $i => $part)
                  {
                    $parts[$i] = ucfirst($part);
                  }
                }
                $moduleName=$controllerName=$actionName='';
                $numOfParts = count($parts);
                if ($numOfParts > 2)
                {
                  $moduleName=$parts[$numOfParts - 3];
                }
                                $controllerName=$parts[$numOfParts - 2];
                $actionName=$parts[$numOfParts - 1];
                                $itemName = '';                   
                                 if(!empty($moduleName)){
                                         $itemName .= $moduleName . '.';
                                 }
                                 $itemName .= $controllerName;
                 $user = Yii::app()->getUser();
                 if ($user->isGuest){
                           if(empty($moduleName)){
                               $allowedAccess =   Yii::app()->beforeControllerAction($controllerName,$actionName);
                                             }
                 }else{
                      if ($user->checkAccess($itemName . '.*')){
                         $allowedAccess = 1;
                      }else{
                          $itemName .= '.' . $actionName;
                          if ($user->checkAccess($itemName, array())){
                              $allowedAccess = 1;
                          }
                      }
                                            if(empty($moduleName) && empty($allowedAccess)){
                                                $allowedAccess =   Yii::app()->beforeControllerAction($controllerName,$actionName);
                                             }
                 }
          
             }
        }
        #END
                return $allowedAccess;
   
  }

List OF BANK PAN Numbers

List OF BANK PAN Numbers Bank/Home Loan Providers PAN Number Allahabad Bank AACCA8464F Andhra Bank AABCA7375C Axis Bank...