mirror of
https://github.com/c0de-archive/GAMA-Site.git
synced 2024-12-22 09:42:39 +00:00
Everything is now seperated for easier finding of code
This commit is contained in:
parent
340ea22be8
commit
1a6bb8501a
389
img/index.php
389
img/index.php
@ -11,7 +11,7 @@
|
||||
* TODO:
|
||||
*
|
||||
* JavaScript fo show bigger image if clicked
|
||||
* Recently Uploaded Pictures on sidebar
|
||||
* Recently Uploaded Pictures on sidebar - OUTPUT DONE - FIX INPUT (upload)
|
||||
* Automatic thumbnail generation - genthumb() (100px x 100px)
|
||||
* Force Spaces in tags
|
||||
* Fix headstuff() and title()
|
||||
@ -21,6 +21,13 @@
|
||||
* -----------------------------------------------------------
|
||||
*/
|
||||
|
||||
require('helper.get.php'); // Helper.Get.php - Holds the functions for get - uname, tag, search, and upload
|
||||
require('helper.clean.php'); // Helper.Clean.php - Holds the functions for cleaning input and output
|
||||
require('helper.genthumb.php'); // Helper.GenThumb.php - Function for generating thumbnails on upload
|
||||
require('img.extra.php'); // Img.Extra.php - Extra main functions
|
||||
require('img.main.php'); // Img.Main.php - Main program
|
||||
|
||||
// Declare variables so it doesn't complain to me later x.x
|
||||
$thelist = '';
|
||||
$img = '';
|
||||
$id = '';
|
||||
@ -33,384 +40,6 @@
|
||||
$tags = '';
|
||||
$_SESSION['noimg'] = '';
|
||||
|
||||
// GET functions
|
||||
|
||||
function uname(){
|
||||
if(!empty($_GET['uname'])){ // Show list of pictures uploaded by certain username
|
||||
echo "<center><h4>Pictures uploaded from Username: ".$_GET['uname'].":</h4></center><br />";
|
||||
require('dbsettings.php');
|
||||
$uname = sanitize($_GET['uname']);
|
||||
$sql = 'SELECT * FROM `share` WHERE `username` = "'.$uname.'"';
|
||||
|
||||
if(!$result = $db->query($sql)){
|
||||
die('There was an error running the query [' . $db->error . ']');
|
||||
}
|
||||
|
||||
while($row = $result->fetch_assoc()){
|
||||
$_SESSION['noimg'] = 'uname';
|
||||
$id = $row['id'];
|
||||
$img = $row['name'];
|
||||
$location = $row['location'];
|
||||
$type = $row['type'];
|
||||
$size = $row['size'];
|
||||
$time = $row['time'];
|
||||
$comment = $row['comment'];
|
||||
$username = $row['username'];
|
||||
$tags = $row['tags'];
|
||||
echo "<center><a href=\"?img=$img\"><img src=\"thumbs/$img\" alt=\"Thumbnail of $img\" align=\"middle\"></a><br /><a href=\"?img=$img\">$img</a> - $time - $size <br /> Tags: ";
|
||||
$tags = explode(" ", $tags);
|
||||
foreach($tags as $tag){
|
||||
echo "<a href=\"?tag=$tag\">$tag</a> "; // For future use - catagorize by tag
|
||||
}
|
||||
echo "</center><br />";
|
||||
}
|
||||
$result->free();
|
||||
//echo "<br /><hr /><br />";
|
||||
}
|
||||
}
|
||||
|
||||
function tag(){
|
||||
if(!empty($_GET['tag'])){ // Show list of pictures according to one tag - maybe multiple tags in the future
|
||||
echo "<center><h4>Pictures uploaded with the tag: ".$_GET['tag'].":</h4></center><br />";
|
||||
require('dbsettings.php');
|
||||
$tag = sanitize($_GET['tag']);
|
||||
$sql = 'SELECT * FROM `share` WHERE `tags` LIKE "%'.$tag.'%"';
|
||||
|
||||
if(!$result = $db->query($sql)){
|
||||
die('There was an error running the query [' . $db->error . ']');
|
||||
}
|
||||
|
||||
while($row = $result->fetch_assoc()){
|
||||
$_SESSION['noimg'] = 'tag';
|
||||
$id = $row['id'];
|
||||
$img = $row['name'];
|
||||
$location = $row['location'];
|
||||
$type = $row['type'];
|
||||
$size = $row['size'];
|
||||
$time = $row['time'];
|
||||
$comment = $row['comment'];
|
||||
$username = $row['username'];
|
||||
$tags = $row['tags'];
|
||||
echo "<center><a href=\"?img=$img\"><img src=\"thumbs/$img\" alt=\"Thumbnail of $img\" align=\"middle\"></a> <br /> <a href=\"?img=$img\">$img</a> - $time - $size - Uploader: <a href=\"?uname=$username\">$username</a><br /></center><br />";
|
||||
}
|
||||
$result->free();
|
||||
//echo "<br /><hr /><br />";
|
||||
}
|
||||
}
|
||||
|
||||
function search(){
|
||||
if(!empty($_GET['search'])){ // Show list of pictures according to search term
|
||||
$search = sanitize($_GET['search']);
|
||||
$search = explode(" ", $search);
|
||||
echo "<center><h4>Pictures found using search terms: ";
|
||||
foreach ($search as $searches){
|
||||
echo $searches." ";
|
||||
}
|
||||
echo ":</h4></center><br />";
|
||||
require('dbsettings.php');
|
||||
$sql = "SELECT * FROM `share` WHERE `tags` LIKE '%".$search[0]."%'";
|
||||
for($i=1; $i<count($search); $i++){
|
||||
$sql = $sql." AND `tags` LIKE '%".$search[$i]."%'";
|
||||
}
|
||||
if(!$result = $db->query($sql)){
|
||||
die('There was an error running the query [' . $db->error . ']');
|
||||
}
|
||||
|
||||
while($row = $result->fetch_assoc()){
|
||||
$_SESSION['noimg'] = 'search';
|
||||
$id = $row['id'];
|
||||
$img = $row['name'];
|
||||
$location = $row['location'];
|
||||
$type = $row['type'];
|
||||
$size = $row['size'];
|
||||
$time = $row['time'];
|
||||
$comment = $row['comment'];
|
||||
$username = $row['username'];
|
||||
$tags = $row['tags'];
|
||||
echo "<center><a href=\"?img=$img\"><img src=\"thumbs/$img\" alt=\"Thumbnail of $img\" align=\"middle\"></a><br /> <a href=\"?img=$img\">$img</a> - $time - $size - Uploader: <a href=\"?uname=$username\">$username</a><br /></center>";
|
||||
}
|
||||
$result->free();
|
||||
//echo "<br /><hr /><br />";
|
||||
}
|
||||
}
|
||||
|
||||
function upload(){
|
||||
if(isset($_GET['upload'])){
|
||||
$max_file_size="4096";
|
||||
$file_uploads="1";
|
||||
$websitename="UnPS-GAMA Image Host Uploader";
|
||||
$allow_types=array("jpg","gif","png","bmp","JPEG","JPG","GIF","PNG");
|
||||
echo "
|
||||
<center>
|
||||
<form name=\"uploadform\" action=\"\" method=\"post\" enctype=\"multipart/form-data\">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan=\"2\">
|
||||
<h3>Upload Pictures Here</h3>
|
||||
<pre>All fields required</pre>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=\"2\" class=\"upload_info\">
|
||||
<b>Allowed Types:</b> jpg, gif, png, bmp<br />
|
||||
<b>Max size per file:</b> 4 MB.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class=\"table_body\" width=\"30%\"><b>Select File:</b> </td>
|
||||
<td class=\"table_body\" width=\"70%\"><input type=\"file\" name=\"file\" id=\"file\" size=\"70\" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class=\"table_body\" width=\"30%\"><b>Your Name: </b></td>
|
||||
<td class=\"table_body\" width=\"70%\"><input type=\"text\" name=\"username\" id=\"username\" size=\"70\" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class=\"table_body\" width=\"30%\"><b>Comment: </b></td>
|
||||
<td class=\"table_body\" width=\"70%\"><input type=\"text\" name=\"comment\" id=\"comment\" size=\"70\" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class=\"table_body\" width=\"30%\"><b>Tags</b> (spaces only):</td>
|
||||
<td class=\"table_body\" width=\"70%\"><input type=\"text\" name=\"tags\" id=\"tags\" size=\"70\" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=\"2\">
|
||||
<input type=\"hidden\" name=\"submit\" value=\"true\" />
|
||||
<input type=\"reset\" name=\"reset\" value=\" Reset Form \" onclick=\"window.location.reload(true);\" />
|
||||
<input type=\"submit\" value=\" Upload \" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</center>
|
||||
<hr /><br />
|
||||
";
|
||||
}
|
||||
if(isset($_POST['submit'])){
|
||||
if(!isset($_POST['username']) || !isset($_POST['comment']) || !isset($_POST['tags'])) die("Please fill in the form completly");
|
||||
require('dbsettings.php');
|
||||
|
||||
$location = 'Pictures';
|
||||
$extensions = array('png', 'gif', 'jpg', 'jpeg', 'bmp');
|
||||
$short = substr(number_format(time() * mt_rand(),0,'',''),0,10);
|
||||
$short = base_convert($short, 10, 36);
|
||||
|
||||
$upusername = $_POST['username'];
|
||||
$upcomment = $_POST['comment'];
|
||||
$tags = $_POST['tags'];
|
||||
$name = $_FILES["file"]["name"];
|
||||
$type = $_FILES["file"]["type"];
|
||||
$size = ($_FILES["file"]["size"] / 1024); // get size of file in Kb
|
||||
|
||||
$name = cln_file_name($name);
|
||||
$type = sanitize($type);
|
||||
$size = sanitize($size);
|
||||
$upcomment = comment($upcomment);
|
||||
$tags = sanitize($tags);
|
||||
$upusername = sanitize($upusername);
|
||||
|
||||
//$notspace = array("\,", ".", "/", "\\", ":", "-", "_", "+", "=", "~", "#", "&", "");
|
||||
//$tags = preg_replace($notspace, " ", $tags);
|
||||
|
||||
$size = round($size, 2)." Kb";
|
||||
$time = date("d/j/y - g:i:s a");
|
||||
|
||||
$file_ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
|
||||
if(!in_array($file_ext, $extensions))die("Wrong or no file extension"); // stop the upload if it's wrong
|
||||
$name = $short.".".$file_ext;
|
||||
|
||||
if (($_FILES["file"]["size"] < 4000000000)){
|
||||
if ($_FILES["file"]["error"] > 0){
|
||||
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
|
||||
}else{
|
||||
if (file_exists("Pictures/" . $name)){
|
||||
echo $name." already exists. ";
|
||||
}else{
|
||||
if(preg_match('/php/i', $name) || preg_match('/phtml/i', $name) || preg_match('/htaccess/i', $name)){
|
||||
echo $name." is not allowed, sorry about that...";
|
||||
}else{
|
||||
$sql="INSERT INTO `share` (name, location, type, size, time, comment, username, tags) VALUES ('$name', '$location', '$type', '$size', '$time', '$upcomment', '$upusername', '$tags')";
|
||||
if($result = $db->query($sql)){
|
||||
//$sql = "UPDATE `recentpics` SET name = '-$name' WHERE id = 1"; // Not currently working
|
||||
//$result=mysql_query($sql);
|
||||
//if($result){
|
||||
move_uploaded_file($_FILES["file"]["tmp_name"], "Pictures/" . $name);
|
||||
$donefile = 'Pictures/'.$name;
|
||||
genthumb($donefile);
|
||||
echo "Stored at: <a href='?img=$name'>". $name."</a>";
|
||||
//}else{
|
||||
// echo "There was a problem uploading this file.";
|
||||
//}
|
||||
}elseif(!$result = $db->query($sql)){
|
||||
die('There was a problem trying to upload your file - [' . $db->error . ']');
|
||||
}else{
|
||||
echo "There was a problem trying to upload your file - Could be a database error";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
die("File too big!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// END OF GET FUNCTIONS
|
||||
|
||||
function genthumb($input){
|
||||
echo "Placeholder for automatic 100x100px thumbnail generation of new pictures<br />\n";
|
||||
}
|
||||
|
||||
function sanitize($input){
|
||||
if ($input == null) die("Sanatize() - No Input Provided, Aborting\r\n<br>");
|
||||
include('dbsettings.php');
|
||||
$output = strip_tags($input);
|
||||
$output = stripslashes($output);
|
||||
$output = $db->real_escape_string($output);
|
||||
$output = strtolower($output);
|
||||
return $output;
|
||||
}
|
||||
|
||||
function comment($input){
|
||||
if ($input == null) die("Sanatize() - No Input Provided, Aborting\r\n<br>");
|
||||
include('dbsettings.php');
|
||||
$output = strip_tags($input);
|
||||
$output = stripslashes($output);
|
||||
$output = $db->real_escape_string($output);
|
||||
return $output;
|
||||
}
|
||||
|
||||
function cln_file_name($string) {
|
||||
$cln_filename_find=array("/\.[^\.]+$/", "/[^\d\w\s-]/", "/\s\s+/", "/[-]+/", "/[_]+/");
|
||||
$cln_filename_repl=array("", "", " ", "-", "_");
|
||||
$string=preg_replace($cln_filename_find, $cln_filename_repl, $string);
|
||||
return trim($string);
|
||||
}
|
||||
|
||||
// MAIN PROGRAM
|
||||
|
||||
function imgstuff(){
|
||||
// My little cheat to be able to display all the different items in the same area
|
||||
uname();
|
||||
tag();
|
||||
search();
|
||||
upload();
|
||||
// Basically all my functions are used as part of one big one, but more organized into smaller sections
|
||||
if (empty($_GET['img']) || $_GET['img'] == null || $_GET['img'] == ''){
|
||||
$img = '';
|
||||
}else{
|
||||
$img = $_GET["img"]; // get the image
|
||||
}
|
||||
if(!empty($img) || $img != null || $img != ''){
|
||||
require('dbsettings.php');
|
||||
$img = sanitize($img); // clean image string
|
||||
$sql = "SELECT * FROM `share` WHERE `name` = '$img' LIMIT 1";
|
||||
if(!$result = $db->query($sql)){
|
||||
die('There was an error running the query [' . $db->error . ']');
|
||||
};
|
||||
$row = $result->fetch_assoc();
|
||||
if ($row){
|
||||
$_SESSION['noimg'] = false;
|
||||
$_SESSION['id'] = $row['id'];
|
||||
$_SESSION['img'] = $row['name'];
|
||||
$_SESSION['location'] = $row['location'];
|
||||
$_SESSION['type'] = $row['type'];
|
||||
$_SESSION['size'] = $row['size'];
|
||||
$_SESSION['time'] = $row['time'];
|
||||
$_SESSION['comment'] = $row['comment'];
|
||||
$_SESSION['username'] = $row['username'];
|
||||
$_SESSION['tags'] = $row['tags'];
|
||||
echo "<center><img id='the_pic' class='fit' src=\"".$_SESSION['location']."/$img\" /><br /></center>";
|
||||
//echo "$id<br>$img<br>$location<br>$type<br>$size<br>$time<br>$comment<br>$username<br>$tags\n";
|
||||
}else{
|
||||
$_SESSION['noimg'] = true;
|
||||
echo "<center><h3>That image was not found in our database D:</h3></center>";
|
||||
}
|
||||
$result->free();
|
||||
}else{
|
||||
if($_SESSION['noimg'] == 'search' || $_SESSION['noimg'] == 'tag' || $_SESSION['noimg'] == 'uname'){
|
||||
}else{
|
||||
noimg();
|
||||
$_SESSION['noimg'] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// END OF MAIN PROGRAM
|
||||
|
||||
function headstuff(){ // Sets the meta tags - WIP/iffy
|
||||
if(isset($_SESSION['img'])){
|
||||
echo "<meta property=\"og:title\" content=\"".$_SESSION['img']."\" />\n";
|
||||
echo " <meta property=\"og:url\" content=\"http://img.unps-gama.info/index.php?img=".$_SESSION['img']."\" />\n";
|
||||
echo " <meta property=\"og:image\" content=\"http://img.unps-gama.info/".$_SESSION['location']."/".$_SESSION['img']."\" />\n";
|
||||
echo " <meta property=\"og:description\" content=\"".$_SESSION['comment']."\" />\n";
|
||||
}
|
||||
}
|
||||
|
||||
function textstuff(){ // Sets up right side box of info under the other sidebars
|
||||
if($_SESSION['noimg'] == false){
|
||||
echo "<div align=\"left\">\n";
|
||||
echo "<h3>Image Name:</h3><code> - ".$_SESSION['img']."</code>\n";
|
||||
echo "<h3>Image Type:</h3><code> - ".$_SESSION['type']."</code>\n";
|
||||
echo "<h3>Image Size:</h3><code> - ".$_SESSION['size']."</code>\n";
|
||||
echo "<h3>Time Uploaded:</h3><code> - ".$_SESSION['time']."</code>\n";
|
||||
echo "<h3>Username:</h3><code> - ";
|
||||
$username = $_SESSION['username'];
|
||||
echo "<a href=\"?uname=$username\">$username</a>"; // For future use - catagorize by username
|
||||
echo "</code>\n";
|
||||
echo "<h3>Comment:</h3><code> - ".$_SESSION['comment']."</code>\n";
|
||||
echo "<h3>Tags:</h3><code> - ";
|
||||
$tags = $_SESSION['tags'];
|
||||
$tags = explode(" ", $tags);
|
||||
foreach($tags as $tag){
|
||||
echo "<a href=\"?tag=$tag\">$tag</a> "; // For future use - catagorize by tag
|
||||
}
|
||||
echo "</code>\n";
|
||||
echo "</div>";
|
||||
}
|
||||
}
|
||||
|
||||
function noimg(){ // Shown in place of the image if one isn't available
|
||||
$thelist = '';
|
||||
// Last Modified not working, so removed for the time being
|
||||
if($handle = opendir('Pictures')){
|
||||
while(false != ($file = readdir($handle))){
|
||||
if($file != "." && $file != ".." && $file != ".htaccess"){
|
||||
//$thelist .= '<a href="?img='.$file.'"><img src="thumbs/'.$file.'" alt="Thumbnail for '.$file.'" /><br /> └ '.$file.'</a></font><br /><p></p>'."\n";
|
||||
$thelist .= "-".$file;
|
||||
}
|
||||
}
|
||||
closedir($handle);
|
||||
}
|
||||
echo "
|
||||
<p>
|
||||
Please specify an image with the url:
|
||||
<code>
|
||||
img.unps-gama.info/?img=(IMGAGE STUFF HERE)
|
||||
</code>
|
||||
</p>
|
||||
<center>
|
||||
<h4>Uploaded Pictures:</h4>
|
||||
";
|
||||
$thelist = explode("-", $thelist);
|
||||
foreach($thelist as $pics){
|
||||
if($pics == '' || $pics == null){
|
||||
echo '';
|
||||
}else{
|
||||
echo '<a href="?img='.$pics.'"><img src="thumbs/'.$pics.'" alt="'.$pics.'" title="'.$pics.'"/></a>'."\n ";
|
||||
}
|
||||
}
|
||||
echo"
|
||||
</center>
|
||||
";
|
||||
}
|
||||
|
||||
function title(){ // Suffers same problem as headstuff()
|
||||
if(!isset($_SESSION['img'])){
|
||||
echo "";
|
||||
}else{
|
||||
echo " - Now Showing: ".$_SESSION['img'];
|
||||
}
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
|
||||
@ -425,7 +54,7 @@
|
||||
* TODO:
|
||||
*
|
||||
* JavaScript fo show bigger image if clicked
|
||||
* Recently Uploaded Pictures on sidebar
|
||||
* Recently Uploaded Pictures on sidebar - OUTPUT DONE - FIX INPUT (upload)
|
||||
* Automatic thumbnail generation - genthumb() (100px x 100px)
|
||||
* Force spaces on tags
|
||||
* Fix headstuff() and title()
|
||||
|
Loading…
Reference in New Issue
Block a user