sábado, 2 de noviembre de 2024

AWS s3 upload

Step 1: Install Required Packages

 sudo apt update

sudo apt install php php-cli php-zip unzip

sudo apt install php-xml

Step 2: Download and Install Composer

curl -sS https://getcomposer.org/installer | php

Move Composer to a Global Location:
sudo mv composer.phar /usr/local/bin/composer

Make It Executable:

sudo chmod +x /usr/local/bin/composer

Step 3: Verify the Installation

composer --version

Step 4: Create a PHP Project and Install Dependencies

cd /path/to/your/project

composer init

composer require aws/aws-sdk-php 

#############


<?php
require 'vendor/autoload.php';

use Aws\S3\S3Client;
use Aws\Exception\AwsException;

// Create a new S3 client
$s3Client = new S3Client([
    'region' => 'us-east-1', // e.g. us-west-2
    'version' => 'latest',
    'credentials' => [
        'key'    => 'AKMNB#888888PA',
        'secret' => 'I54444444444444a'
    ],
]);


$bucket = 'asteriskrecordings';
$filePath = "$argv[1]"; // Local file path
$keyName = basename($filePath); // Use the base name of the file

try {
    // Upload the file
    $result = $s3Client->putObject([
        'Bucket' => $bucket,
        'Key'    => $keyName,
        'SourceFile' => $filePath
    ]);

    echo "File uploaded successfully. File URL: " . $result['ObjectURL'] . "\n";
} catch (AwsException $e) {
    // Output error message if upload fails
    echo "Error uploading file: " . $e->getMessage() . "\n";
}
?>



sábado, 19 de octubre de 2024

calculate_time_difference

 <?php


function calculate_time_difference($datetime_str) {

    // Split the input string into date and time components

    $datetime_parts = explode(' ', $datetime_str);

    

    // Extract the date and time

    $date_parts = explode('-', $datetime_parts[0]);

    $time_parts = explode(':', $datetime_parts[1]);

    

    // Normalize the date and time into integers for mktime

    $year = (int)$date_parts[0];

    $month = (int)$date_parts[1];

    $day = (int)$date_parts[2];

    

    $hour = (int)$time_parts[0];

    $minute = (int)$time_parts[1];

    $second = (int)$time_parts[2];

    

    // Create the target time using mktime

    $target_time = mktime($hour, $minute, $second, $month, $day, $year);

    

    // Get the current time

    $current_time = time();

    

    // Calculate the difference in seconds

    $diff = $current_time - $target_time;

    

    // Convert seconds into minutes and seconds

    $minutes = floor($diff / 60);    

    $seconds = $diff % 60;

    

    // Output the difference in "minutes:seconds" format

    echo "$minutes:$seconds\n";

    

    // Output the current date and time

    echo date("Y-m-d H:i:s");

}


// Example usage: Pass a date string in the "Y-m-d H:i:s" format

$datetime_str = "2024-10-20 01:45:16";

calculate_time_difference($datetime_str);


?>


viernes, 18 de octubre de 2024

convert to sec and mis

 <?php

function convert_to_mins($s){

    

$minutes= floor($s/60);    

$seconds=$s % 60;


echo "$minutes:$seconds";


    

    

}


function convert_to_secs($min){


$seconds= $min * 60;


echo "$seconds";

    

    

}



convert_to_mins(180);

echo "\n";

convert_to_secs(3);



sábado, 12 de octubre de 2024

filter array if value is >=70

 <?php

function pass($var){

    

  return $var>=70;

    

}


$notas=array("Jose"=>90,"Ambiorix"=>100,"Maria"=>65,90);

print_r(array_filter($notas,"pass"));


?>


Array

(

    [Jose] => 90

    [Ambiorix] => 100

    [0] => 90

)


domingo, 6 de octubre de 2024

MYSQL TRIGGERS EXAMPLE

 DELIMITER //


CREATE TRIGGER ProductSellPriceUpdateCheck 

    AFTER UPDATE  

    ON Products FOR EACH ROW  

BEGIN

IF NEW.SellPrice <= NEW.BuyPrice THEN

INSERT INTO Notifications(Notification,DateTime) 

VALUES(CONCAT(NEW.ProductID,' was updated with a SellPrice of ', NEW.SellPrice,' which is the same or less than the BuyPrice'), NOW()); 

    END IF;

END //




DELIMITER //


CREATE TRIGGER ProductSellPriceInsertCheck 

    AFTER INSERT  

    ON Products FOR EACH ROW  

BEGIN

IF NEW.SellPrice <= NEW.BuyPrice THEN

INSERT INTO Notifications(Notification,DateTime) 

VALUES(CONCAT('A SellPrice same or less than the BuyPrice was inserted for ProductID ', NEW.ProductID), NOW()); 

    END IF;

END //



DELIMITER //


CREATE TRIGGER NotifyProductDelete 

    AFTER DELETE   

    ON Products FOR EACH ROW   

INSERT INTO Notifications(Notification, DateTime) 

    VALUES(CONCAT('The product with a ProductID ', OLD.ProductID,' was deleted'), NOW()); 

END //

DELIMITER ;

sábado, 5 de octubre de 2024

MySQl official Guide

 https://dev.mysql.com/doc/refman/8.4/en/

https://developers.facebook.com/docs/pages-api/comments-mentions/

Get comments

To get the comments for a Page post, send a GET request to the /page_post_id/comments endpoint with the fields parameter set to a comma-separated list that includes the message field, to get the content for the comment and the from field, to get the Page-scoped ID (PSID) for the person or Page who commented on the post, if you would like to @mention the person or Page in the comment.

Example Request

Formatted for readability. Replace bold, italics values, such as page_post_id, with your values.
curl -i -X GET "https://graph.facebook.com/page_post_id/comments?fields=from,message"

On success, your app receives the following JSON response with the commentor's name, PSID, message and the comment ID:

{
  "data": [
    {
      "created_time": "2020-02-19T23:05:53+0000",
      "from": {
        "name": "commentor_name",
        "id": "commentor_PSID"
      },
      "message": "comment_content",
     "id": "comment_id"
    }
  ],
  "paging": {
    "cursors": {
      "before": "MQZDZD",
      "after": "MQZDZD"
    }
  } 

}  

https://developers.facebook.com/docs/pages-api/comments-mentions/