-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathupdate_single_image.php
106 lines (93 loc) · 2.6 KB
/
update_single_image.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
/**
* Created by PhpStorm.
* User: selly
* Date: 3/3/15
* Time: 12:28 AM
*/
namespace greenbase;
include_once 'Database.php';
$con = Database::getDefaultDBConnection();
function updateOrg($con, $id, $valid, $orientation, \mysqli_stmt $stmt) {
$stmt->bind_param("isi", $valid, $orientation, $id);
if (!$stmt->execute() ){
echo $con->error;
exit ("Unable to update id=" . $id ." valid=". $valid ." orientation=".$orientation);
}
}
$id = $_GET["logo"];
echo "Logo:" . $id;
$query = "SELECT id, logo_url, valid, orientation FROM logo_details_temp WHERE id=" . $id;
$results = $con->query($query);
if (is_null($results)) {
echo $con->error;
exit ("Unable to access logo_details_temp");
}
$logos = [];
$img = new \Imagick();
while ($row = $results->fetch_assoc()) {
flush();
$logo = [];
$logo["id"] = $row["id"];
$logo["logo_url"] = $row["logo_url"];
$logo["valid"] = $row["valid"];
$logo["orientation"] = $row["orientation"];
echo "<li>- Logo ID (" . $logo["id"] . "): ";
//Default value
$width = 100;
$handle = fopen($logo["logo_url"], 'rb');
$loaded = false;
echo "loading,";
try {
$loaded =$img->readImageFile($handle);
} catch (\Exception $e) {
echo("FAILED:" . $e->getMessage() . "<br>");
}
if ($loaded){
echo "loaded, ";
//Read image was a success
$width = $img->getImageWidth();
$height = $img->getImageHeight();
$ratio = $width / $height;
if ($ratio < .9) {
$logo["orientation"] = "vertical";
} else if ($ratio > 1.11) {
$logo["orientation"] = "horizontal";
} else {
$logo["orientation"] = "square";
}
echo "orientation(" . $logo["orientation"] ."), ";
$img->setImageFormat("png");
$img->writeImage("./remoteimages/originals/logo_" . $logo["id"] . ".png");
// Resize and store as a 100x100 thumbnail
$img->thumbnailImage(100, 100, true);
$img->writeImage("./remoteimages/snapshot/logo_" . $logo["id"] . ".png");
echo "stored.";
$logo["valid"] = 1;
$img->clear();
} else {
// Invalid image
$logo["valid"] = 0;
}
$logos[] = $logo;
}
$results->free_result();
echo "</ol>\nEND<br>";
echo "Updating details\n<ol>";
$query = "UPDATE logo_details_temp SET valid = ?, orientation=? where id=?";
$stmt = $con->prepare($query);
foreach ($logos as $v) {
flush();
$id = $v["id"];
echo "<li>Logo (" . $id .")";
$valid = $v["valid"];
$logo_url = $v["logo_url"];
$orientation = $v["orientation"];
// echo "LOGO ROW: $id = $valid, $logo_url.<br>\n";
updateOrg($con, $id, $valid, $orientation, $stmt);
echo " UPDATED";
}
$stmt->close();
echo "</ol>END\n<br>";
$con->close();
?>