reformattings and name change
This commit is contained in:
37
api/Database.php
Normal file
37
api/Database.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
class Database
|
||||
{
|
||||
private static $instance = null;
|
||||
private $conn;
|
||||
|
||||
private $servername = "192.168.0.30";
|
||||
private $username = "root";
|
||||
private $password = "1qayxsw2";
|
||||
private $dbname = "hub";
|
||||
|
||||
// The db connection is established in the private constructor.
|
||||
private function __construct()
|
||||
{
|
||||
// Create connection
|
||||
$this->conn = new mysqli($this->servername, $this->username, $this->password, $this->dbname);
|
||||
|
||||
if ($this->conn->connect_errno) {
|
||||
echo "connecton failed... nr: " . $this->conn->connect_errno . " -- " . $this->conn->connect_error;
|
||||
}
|
||||
}
|
||||
|
||||
public static function getInstance()
|
||||
{
|
||||
if (!self::$instance) {
|
||||
self::$instance = new Database();
|
||||
}
|
||||
|
||||
return self::$instance;
|
||||
}
|
||||
|
||||
public function getConnection()
|
||||
{
|
||||
return $this->conn;
|
||||
}
|
||||
}
|
87
api/extractvideopreviews.php
Executable file
87
api/extractvideopreviews.php
Executable file
@ -0,0 +1,87 @@
|
||||
<?php
|
||||
require 'Database.php';
|
||||
|
||||
$conn = Database::getInstance()->getConnection();
|
||||
|
||||
$arr = scandir("../videos/prn/");
|
||||
|
||||
$all = 0;
|
||||
$added = 0;
|
||||
$deleted = 0;
|
||||
$failed = 0;
|
||||
|
||||
foreach ($arr as $elem) {
|
||||
if ($elem != "." && $elem != "..") {
|
||||
|
||||
$query = "SELECT * FROM videos WHERE movie_name = '" . mysqli_real_escape_string($conn, $elem) . "'";
|
||||
$result = $conn->query($query);
|
||||
|
||||
// insert if not available in db
|
||||
if (!mysqli_fetch_assoc($result)) {
|
||||
$pic = shell_exec("ffmpeg -hide_banner -loglevel panic -ss 00:04:00 -i \"../videos/prn/$elem\" -vframes 1 -q:v 2 -f singlejpeg pipe:1 2>/dev/null");
|
||||
|
||||
$image_base64 = base64_encode($pic);
|
||||
|
||||
$image = 'data:image/jpeg;base64,' . $image_base64;
|
||||
$conn = Database::getInstance()->getConnection();
|
||||
|
||||
$query = "INSERT INTO videos(movie_name,movie_url,thumbnail) VALUES ('" . mysqli_real_escape_string($conn, $elem) . "','" . mysqli_real_escape_string($conn, 'videos/prn/' . $elem) . "','$image')";
|
||||
|
||||
if ($conn->query($query) === TRUE) {
|
||||
echo('successfully added ' . $elem . " to video gravity\n");
|
||||
$added++;
|
||||
$all++;
|
||||
} else {
|
||||
echo('errored item: ' . $elem . "\n");
|
||||
echo('{"data":"' . $conn->error . '"}\n');
|
||||
$failed++;
|
||||
}
|
||||
} else {
|
||||
$all++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$query = "SELECT COUNT(*) as count FROM videos";
|
||||
$result = $conn->query($query);
|
||||
$r = mysqli_fetch_assoc($result);
|
||||
|
||||
if ($all < $r['count']) {
|
||||
echo "should be in gravity: " . $all . "\n";
|
||||
echo "really in gravity: " . $r['count'] . "\n";
|
||||
echo "cleaning up gravity\n";
|
||||
|
||||
$query = "SELECT movie_id,movie_url FROM videos";
|
||||
$result = $conn->query($query);
|
||||
|
||||
while ($r = mysqli_fetch_assoc($result)) {
|
||||
if (!file_exists("../" . $r['movie_url'])) {
|
||||
$query = "DELETE FROM videos WHERE movie_id='" . $r['movie_id'] . "'";
|
||||
if ($conn->query($query) === TRUE) {
|
||||
echo('successfully deleted ' . $r['movie_url'] . " from video gravity\n");
|
||||
$deleted++;
|
||||
} else {
|
||||
echo "failed to delete " . $r['movie_url'] . " from gravity: " . $conn->error . "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// calculate size of databse here
|
||||
$size = -1;
|
||||
$query = "SELECT table_schema AS \"Database\",
|
||||
ROUND(SUM(data_length + index_length) / 1024 / 1024, 3) AS \"Size\"
|
||||
FROM information_schema.TABLES
|
||||
WHERE TABLE_SCHEMA='hub'
|
||||
GROUP BY table_schema;";
|
||||
$result = $conn->query($query);
|
||||
if ($result->num_rows == 1) {
|
||||
$row = $result->fetch_assoc();
|
||||
$size = $row["Size"];
|
||||
}
|
||||
|
||||
echo "Total gravity: " . $all . "\n";
|
||||
echo "Size of Databse is: " . $size . "MB\n";
|
||||
echo "added in this run: " . $added . "\n";
|
||||
echo "deleted in this run: " . $deleted . "\n";
|
||||
echo "errored in this run: " . $failed . "\n";
|
100
api/videoload.php
Executable file
100
api/videoload.php
Executable file
@ -0,0 +1,100 @@
|
||||
<?php
|
||||
require 'Database.php';
|
||||
|
||||
$conn = Database::getInstance()->getConnection();
|
||||
|
||||
|
||||
if (isset($_POST['action'])) {
|
||||
$action = $_POST['action'];
|
||||
switch ($action) {
|
||||
case "getMovies":
|
||||
$query = "SELECT movie_id,movie_name FROM videos ORDER BY likes DESC, create_date ASC, movie_name ASC";
|
||||
$result = $conn->query($query);
|
||||
$rows = array();
|
||||
while ($r = mysqli_fetch_assoc($result)) {
|
||||
array_push($rows, $r);
|
||||
}
|
||||
|
||||
echo(json_encode($rows));
|
||||
break;
|
||||
case "getRandomMovies":
|
||||
$query = "SELECT movie_id,movie_name FROM videos ORDER BY RAND() LIMIT ".$_POST['number'];
|
||||
$result = $conn->query($query);
|
||||
$rows = array();
|
||||
while ($r = mysqli_fetch_assoc($result)) {
|
||||
array_push($rows, $r);
|
||||
}
|
||||
|
||||
echo(json_encode($rows));
|
||||
break;
|
||||
case "loadVideo":
|
||||
$query = "SELECT movie_url,thumbnail,likes FROM videos WHERE movie_id='" . $_POST['movieid'] . "'";
|
||||
|
||||
$result = $conn->query($query);
|
||||
$row = $result->fetch_assoc();
|
||||
|
||||
$arr = array();
|
||||
$arr["thumbnail"] = $row["thumbnail"];
|
||||
$arr["movie_url"] = $row["movie_url"];
|
||||
$arr["likes"] = $row["likes"];
|
||||
echo(json_encode($arr));
|
||||
|
||||
break;
|
||||
case "getDbSize":
|
||||
$query = "SELECT table_schema AS \"Database\",
|
||||
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS \"Size\"
|
||||
FROM information_schema.TABLES
|
||||
WHERE TABLE_SCHEMA='hub'
|
||||
GROUP BY table_schema;";
|
||||
$result = $conn->query($query);
|
||||
|
||||
if ($result->num_rows == 1) {
|
||||
$row = $result->fetch_assoc();
|
||||
echo '{"data":"' . $row["Size"] . 'MB"}';
|
||||
}
|
||||
|
||||
break;
|
||||
case "readThumbnail":
|
||||
$query = "SELECT thumbnail FROM videos WHERE movie_id='" . $_POST['movieid'] . "'";
|
||||
|
||||
$result = $conn->query($query);
|
||||
$row = $result->fetch_assoc();
|
||||
|
||||
echo($row["thumbnail"]);
|
||||
|
||||
break;
|
||||
|
||||
case "getTags":
|
||||
$movieid = $_POST['movieid'];
|
||||
|
||||
$query = "SELECT tag_name FROM video_tags
|
||||
INNER JOIN tags t on video_tags.tag_id = t.tag_id
|
||||
WHERE video_id='$movieid'";
|
||||
|
||||
$result = $conn->query($query);
|
||||
|
||||
$rows = array();
|
||||
$rows['tags'] = array();
|
||||
while ($r = mysqli_fetch_assoc($result)) {
|
||||
array_push($rows['tags'], $r['tag_name']);
|
||||
}
|
||||
|
||||
echo(json_encode($rows));
|
||||
break;
|
||||
case "addLike":
|
||||
$movieid = $_POST['movieid'];
|
||||
|
||||
$query = "update videos set likes = likes + 1 where movie_id = '$movieid'";
|
||||
|
||||
if ($conn->query($query) === TRUE) {
|
||||
echo('{"result":"success"}');
|
||||
} else {
|
||||
echo('{"result":"' . $conn->error . '"}');
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
echo('{"data":"error"}');
|
||||
}
|
||||
return;
|
||||
|
Reference in New Issue
Block a user