Friday 4 August 2017

Creating a thumbnail from an uploaded image using php

Creating a thumbnail from an uploaded image using php


<?php

function resize_crop_image($max_width, $max_height, $source_file, $dst_dir, $quality = 80){
    $imgsize = getimagesize($source_file);
    $width = $imgsize[0];
    $height = $imgsize[1];
    $mime = $imgsize['mime'];

    switch($mime){
        case 'image/gif':
            $image_create = "imagecreatefromgif";
            $image = "imagegif";
            break;

        case 'image/png':
            $image_create = "imagecreatefrompng";
            $image = "imagepng";
            $quality = 100;
            break;

        case 'image/jpeg':
            $image_create = "imagecreatefromjpeg";
            $image = "imagejpeg";
            $quality = 100;
            break;

        default:
            return false;
            break;
    }
    
    $dst_img = imagecreatetruecolor($max_width, $max_height);
    $src_img = $image_create($source_file);
    
    $width_new = $height * $max_width / $max_height;
    $height_new = $width * $max_height / $max_width;
    //if the new width is greater than the actual width of the image, then the height is too large and the rest cut off, or vice versa
    if($width_new > $width){
        //cut point by height
        $h_point = (($height - $height_new) / 2);
        //copy image
       // imagecopyresampled($dst_img, $src_img, 0, 0, 0, $h_point, $max_width, $max_height, $width, $height_new);
    }else{
        //cut point by width

        $w_point = (($width - $width_new) / 2);
  
       // imagecopyresampled($dst_img, $src_img, 0, 0, $w_point, 0, $max_width, $max_height, $width_new, $height);
    }
    
    imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $max_width, $max_height, $width, $height);
    $image($dst_img, $dst_dir);


    if($dst_img)imagedestroy($dst_img);
    if($src_img)imagedestroy($src_img);

$imagedata =ob_end_clean();
return $dst_dir;

}

$img = $_FILES['file']['tmp_name'];
  $file_name = "aaa/"."thumb_".$_FILES['file']['name'];
resize_crop_image(250, 250,$img, $file_name);

?>

<form method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="save" value="save"/>

</form>

Check all with datatables pagination

Check all with datatables pagination

Here example of   Check all with datatables pagination
<body>
<script
  src="http://code.jquery.com/jquery-1.12.4.js"
  integrity="sha256-Qw82+bXyGq6MydymqBxNPYTaUXXq7c8v3CwiYwLLNXU="
  crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.15/css/jquery.dataTables.min.css">
<script type="application/javascript" src="https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>
<script type="application/javascript">
$(document).ready(function(e) {
   
var oTable = $('#seller_table').DataTable({"bSort":false, responsive: true});

   // var allPages = oTable.cells( ).nodes( ); // Remove comment if you want select all datatable value

    $('body').on("click","#selectAll",function () {
alert();
        if ($(this).hasClass('allChecked')) {
            $('#seller_table').find('input[type="checkbox"]').prop('checked', false);
//$(allPages).find('input[type="checkbox"]').prop('checked', false); // Remove comment if you want select all datatable value
        } else {
            $('#seller_table').find('input[type="checkbox"]').prop('checked', true);
//$(allPages).find('input[type="checkbox"]').prop('checked', true); // Remove comment if you want select all datatable value
        }
        $(this).toggleClass('allChecked');
    })

$("#delete_new_area").click(function(){
var check_all = [];
$(".new_area_value").each(function(index, element) {
           
if(this.checked){
check_all.push($(this).val());
}
        });


if(check_all.length>0){

// here your code for check value;
}
});

$('#seller_table').on('page.dt', function () {

     $('#selectAll').toggleClass('allChecked');
$('#seller_table').find('input[type="checkbox"]').prop('checked', false);
} );

});



</script>
<table id="seller_table" class="table responsive  table-striped table-bordered dataTable no-footer" role="grid" aria-describedby="seller_table_info">
  <thead>
    <tr role="row">
      <th class="sorting_disabled" rowspan="1" colspan="1" style="width: 130px;"> <button type="button" id="selectAll" class="main btn btn-primary "> <span class="sub"></span> Select </button></th>
      <th class="sorting_disabled" rowspan="1" colspan="1" style="width: 280px;">Email</th>
      <th class="sorting_disabled" rowspan="1" colspan="1" style="width: 608px;">Area</th>
    </tr>
  </thead>
  <tbody>
    <tr role="row" class="odd">
      <td><input class="new_area_value" value="4" type="checkbox"></td>
      <td>myinformation@gmail.com</td>
      <td>11416 NE 91ST ST </td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="5" type="checkbox"></td>
      <td>myinformation@gmail.com</td>
      <td>11416 NE 91ST ST </td>
    </tr>
    <tr role="row" class="odd">
      <td><input class="new_area_value" value="6" type="checkbox"></td>
      <td>myinformation@gmail.com</td>
      <td>11416 NE 91ST ST </td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="9" type="checkbox"></td>
      <td>myinformation@gmail.com</td>
      <td>Asheville%2C+NC%2C+United+States</td>
    </tr>
    <tr role="row" class="odd">
      <td><input class="new_area_value" value="10" type="checkbox"></td>
      <td>test@yopmail.com</td>
      <td>Ashburn, VA, United States</td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="14" type="checkbox"></td>
      <td>-NA-</td>
      <td>Los Angeles, CA, United States</td>
    </tr>
    <tr role="row" class="odd">
      <td><input class="new_area_value" value="16" type="checkbox"></td>
      <td>-NA-</td>
      <td>Lower Parel, Mumbai, Maharashtra, India</td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="17" type="checkbox"></td>
      <td>myinformation@gmail.com</td>
      <td>Lower Parel, Mumbai, Maharashtra, India</td>
    </tr>
    <tr role="row" class="odd">
      <td><input class="new_area_value" value="20" type="checkbox"></td>
      <td>-NA-</td>
      <td>Test Area, Yerawada, Pune, Maharashtra, India</td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="21" type="checkbox"></td>
      <td>-NA-</td>
      <td>Test, Janta Road, Dattawadi, Pune, Maharashtra, India</td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="21" type="checkbox"></td>
      <td>-NA-</td>
      <td>Test, Janta Road, Dattawadi, Pune, Maharashtra, India</td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="21" type="checkbox"></td>
      <td>-NA-</td>
      <td>Test, Janta Road, Dattawadi, Pune, Maharashtra, India</td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="21" type="checkbox"></td>
      <td>-NA-</td>
      <td>Test, Janta Road, Dattawadi, Pune, Maharashtra, India</td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="21" type="checkbox"></td>
      <td>-NA-</td>
      <td>Test, Janta Road, Dattawadi, Pune, Maharashtra, India</td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="21" type="checkbox"></td>
      <td>-NA-</td>
      <td>Test, Janta Road, Dattawadi, Pune, Maharashtra, India</td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="21" type="checkbox"></td>
      <td>-NA-</td>
      <td>Test, Janta Road, Dattawadi, Pune, Maharashtra, India</td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="21" type="checkbox"></td>
      <td>-NA-</td>
      <td>Test, Janta Road, Dattawadi, Pune, Maharashtra, India</td>
    </tr>
    <tr role="row" class="even">
      <td><input class="new_area_value" value="21" type="checkbox"></td>
      <td>-NA-</td>
      <td>Test, Janta Road, Dattawadi, Pune, Maharashtra, India</td>
    </tr>
  </tbody>
</table>
</body>

Sunday 30 July 2017

create push notification for apple

create push notification for  apple



function ios_sendPushNotification($pushMessage){



$gcm_regid = "iphoneid"; // FCM ID

if($gcm_regid!=""){



$deviceToken = $gcm_regid;
    // Put your private key's passphrase here:
    $passphrase = "123";

    // Put your alert message here:
    $message = $pushMessage;

    ////////////////////////////////////////////////////////////////////////////////


try{

    $ctx = stream_context_create();

    stream_context_set_option($ctx, 'ssl', 'local_cert', 'pushcert.pem'); // Path of pem file
    stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);

    // Open a connection to the APNS server
    $fp = stream_socket_client(
        'ssl://gateway.sandbox.push.apple.com:2195', $err,
        $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

  /*  if (!$fp)
        exit("Failed to connect: $err $errstr" . PHP_EOL);

    echo 'Connected to APNS' . PHP_EOL;*/

    // Create the payload body
    $body['aps'] = array(
        'alert' => $message,
        'sound' => 'default'
        );

    // Encode the payload as JSON
    $payload = json_encode($body);

    // Build the binary notification
    $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;

    // Send it to the server
    $result = fwrite($fp, $msg, strlen($msg));

   /* if (!$result)
    {  
        echo 'Message not delivered' . PHP_EOL;
    }
    else
    {  
        echo 'Message successfully delivered' . PHP_EOL;

    }*/

    // Close the connection to the server
    fclose($fp);
}catch(Exception  $e){
}


}





}

call funtion
ios_sendPushNotification("message")

Create custom notification in android using fcm

Create custom notification in andoid using fcm


Create custom nofication code


function sendPushNotification($pushMessage){

$gcm_regid = "define GCM ID";

if($gcm_regid != ""){


// Custom Nofification


$icon_image = "front/images/example.png";



$fields = array (
/*'notification' =>
array (
'title' => 'title',
'body' => $pushMessage,
'icon' => $icon_image,
'sound' => 'default',

//'click_action' => $main_url,
),*/
'data' => array("title"=>(string)"title",
"message"=>(string)$pushMessage,
//"is_background"=>false,
"image"=> (string)$icon_image,
"timestamp"=> (string)date("Y-m-d G:i"),

),
"to" => $gcm_regid,
);

$gcm_api_key =  "Google Api Key";


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://fcm.googleapis.com/fcm/send");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
curl_setopt($ch, CURLOPT_POST, 1);

$headers = array();
$headers[] = "Authorization: key=".$gcm_api_key;
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
//echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
}


}
call the function 
sendPushNotification("your push  notification")

 this example for normal push notification

function sendPushNotification($pushMessage){

$gcm_regid = "define GCM ID";

if($gcm_regid != ""){


// Custom Nofification


$icon_image = "front/images/example.png";



$fields = array (
'notification' =>
array (
'title' => 'title',
'body' => $pushMessage,
'icon' => $icon_image,
'sound' => 'default',

//'click_action' => $main_url,
),
/*'data' => array("title"=>(string)"title",
"message"=>(string)$pushMessage,
//"is_background"=>false,
"image"=> (string)$icon_image,
"timestamp"=> (string)date("Y-m-d G:i"),

),*/
"to" => $gcm_regid,
);

$gcm_api_key =  "Google Api Key";


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://fcm.googleapis.com/fcm/send");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
curl_setopt($ch, CURLOPT_POST, 1);

$headers = array();
$headers[] = "Authorization: key=".$gcm_api_key;
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
//echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
}



call the function 
sendPushNotification("your push  notification")

Wednesday 19 July 2017

Get posts using wordpress rss feed url and add featured post thumbnails in WordPress feeds

Get posts using wordpress rss feed url and add featured post thumbnails in WordPress feeds


Hello

here the example of geting data from rss feed url

this code in your current wordpress function.php file 
// display featured post thumbnails in WordPress feeds
function wcs_post_thumbnails_in_feeds( $content ) {
    global $post;
    if( has_post_thumbnail( $post->ID ) ) {
        $content = '<p>' . get_the_post_thumbnail( $post->ID ) . '</p>' . $content;
    }
    return $content;
}
add_filter( 'the_excerpt_rss', 'wcs_post_thumbnails_in_feeds' );
add_filter( 'the_content_feed', 'wcs_post_thumbnails_in_feeds' );

$url = 'Your Wordpress Rss Fedd';

    $rss = new DOMDocument();
    $rss->load($url);
    $feed = array();
    foreach ($rss->getElementsByTagName('item') as $node) {
        $item = array (
                'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
                'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
                'pubDate' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
                'description' => $node->getElementsByTagName('description')->item(0)->nodeValue,
                'content' => $node->getElementsByTagName('encoded')->item(0)->nodeValue

                );
       array_push($feed, $item);
    }



  
  
 
foreach($feed as $f){
preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $f['description'], $image);

   $content = strip_tags(preg_replace("/<img[^>]+\>/i", "", $image[0]),"</p>");
  
$pos = strrpos( $content, '[');
echo  $image['src']; // Get Feature image in rss
echo $f['link']; // Get Link in post
echo $f['title']; // get Title of post
echo $f['pubDate']; // get Publish date
echo rtrim (substr($content, 0, $pos) ); // Only get description


}

Wednesday 28 June 2017

how to file delete in s3 bucket in aws in codeniter


how to file delete in s3 bucket in aws in codeigniter


//

Controller


public function seller_kichen_delete(){
       
       
            $replace_image_value = $this->input->post('replace_image_value');
           
            $data = s3_bucket_delete($replace_image_value);
       
    }
   
    // add this code in heleper
    function s3_bucket_delete($temppath){
        $bucket = "bucket-name";
       
        try{
           
           
            $s3Client = new S3Client([
            'version'     => 'latest',
            'region'      => 'us-west-2',
            'credentials' => [
            'key'    => 'key',
            'secret' => 'secret-key',
            ],
            ]);
       
           
                $result = $s3Client->deleteObject([
                'Bucket' => $bucket,
                'Key' => $temppath,
                ]);
                    $data['message'] =  "success";
           
    } catch (Exception $e) {
            $data['message'] =  "false";
            // echo $e->getMessage() . "\n";
            }
           
           
       
        return $data;
       
    }

how to image and file upload using aws bucket in codeigniter

how to image and file upload using aws bucket in codeigniter 

public function profile_upload(){


//print_r($_FILES);

if($this->session->userdata('user_login')){


$file = $_FILES['agent_profile_file']['tmp_name'];

    if (file_exists($file))
    {
         $allowedExts = array("gif", "jpeg", "jpg", "png");
$typefile = explode(".", $_FILES["agent_profile_file"]["name"]);
     $extension = end($typefile);

        if (!in_array(strtolower($extension),  $allowedExts))
        {
            //not image
$data['message'] = "images";
        }
        else
        {
$userid =  $this->session->userdata['user_login']['userid'];

$full_path = "agent_image/".$userid."/profileImg/";

/*if(!is_dir($full_path)){
mkdir($full_path, 0777, true);
}*/
$path = $_FILES['agent_profile_file']['tmp_name'];

$image_name = $full_path.preg_replace( "/[^a-z0-9\._]+/", "-", strtolower(uniqid().$_FILES['agent_profile_file']['name']) );
//move_uploaded_file($path,$image_name);



$data['message'] ="sucess";


$s3_bucket = s3_bucket_upload($path,$image_name);


if($s3_bucket['message']=="sucess"){
$data['imagename'] =$s3_bucket['imagepath'];
$data['imagepath'] =$s3_bucket['imagename'];
}

//print_r($imagesizedata);
            //image
            //use $imagesizedata to get extra info
        }
    }
    else
    {
        //not file
$data['message'] = "images";
    }

}else{
$data['message'] = "login";
}
echo json_encode($data);
//$file_name2 = preg_replace("/ /", "-", $file_name);


}
  // Helper file add code 
    // image compress code
function compress($source, $destination, $quality) {

ob_start();
$info = getimagesize($source);

if ($info['mime'] == 'image/jpeg')
$image = imagecreatefromjpeg($source);

elseif ($info['mime'] == 'image/gif')
$image = imagecreatefromgif($source);

elseif ($info['mime'] == 'image/png')
$image = imagecreatefrompng($source);

$filename = tempnam(sys_get_temp_dir(), "beyondbroker");

imagejpeg($image, $filename, $quality);

      //ob_get_contents();
$imagedata =ob_end_clean();
return $filename;
}
   
    // type for if image then it will reduce size
    // site for it in web of mobile because mobile webservice image will in base 64
    // $tempth will file temp path
    // $image_path will file where to save path
   
    function s3_bucket_upload($temppath,$image_path,$type="image",$site="web"){
$bucket = "bucket-name";

$data =array();

$data['message'] =  "false";


// For website only
if($site=="web"){
if($type=="image"){

  $file_Path = compress($temppath,$image_path,90);
 
}else{
  $file_Path =$temppath;
}
}

try{


$s3Client = new S3Client([
'version'     => 'latest',
'region'      => 'us-west-2',
'credentials' => [
'key'    => 'aws-key',
'secret' => 'aws-secretkey',
],
]);

// For website only
if($site=="web"){

$result = $s3Client->putObject([
'Bucket'     => $bucket,
'Key'        => $image_path,
'SourceFile' => $file_Path,
//'body'=> $file_Path,
'ACL'          => 'public-read',
//'StorageClass' => 'REDUCED_REDUNDANCY',
]);

$data['message']  = "sucess";
$data['imagename']  = $image_path;
$data['imagepath']  = $result['ObjectURL'];
}else{

// $tmp = base64_decode($base64);
$upload = $s3Client->upload($bucket, $image_path, $temppath, 'public-read');
$data['message']  = "sucess";
$data['imagepath']  = $upload->get('ObjectURL');


}


} catch (Exception $e) {
$data['message'] =  "false";
// echo $e->getMessage() . "\n";
}



return $data;
}