[COLOR=#990000]<?php[/color]
[b][COLOR=#000000]ini_set[/color][/b][COLOR=#990000]([/color][COLOR=#FF0000]'display_errors'[/color][COLOR=#990000],[/color] true[COLOR=#990000]);[/color] [b][COLOR=#000000]error_reporting[/color][/b][COLOR=#990000]([/color]E_ALL[COLOR=#990000]);[/color]
[COLOR=#009900]$req[/color] [COLOR=#990000]=[/color] [b][COLOR=#000000]array_merge[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$_GET[/color][COLOR=#990000],[/color] [COLOR=#009900]$_POST[/color][COLOR=#990000]);[/color]
[COLOR=#009900]$action[/color] [COLOR=#990000]=[/color] [b][COLOR=#0000FF]isset[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$req[/color][COLOR=#990000][[/color][COLOR=#FF0000]'action'[/color][COLOR=#990000]])[/color] [COLOR=#990000]?[/color] [COLOR=#009900]$req[/color][COLOR=#990000][[/color][COLOR=#FF0000]'action'[/color][COLOR=#990000]][/color] [COLOR=#990000]:[/color] [COLOR=#FF0000]'no action'[/color][COLOR=#990000];[/color]
[b][COLOR=#0000FF]switch[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$action[/color][COLOR=#990000]):[/color]
[tab][b][COLOR=#0000FF]case[/color][/b] [COLOR=#FF0000]'no action'[/color][COLOR=#990000]:[/color]
[tab][tab][COLOR=#009900]$images[/color] [COLOR=#990000]=[/color] [b][COLOR=#0000FF]new[/color][/b] images[COLOR=#990000];[/color]
[tab][tab][COLOR=#009900]$images[/color][COLOR=#990000]->[/color][b][COLOR=#000000]listImages[/color][/b][COLOR=#990000]();[/color]
[tab][tab][b][COLOR=#0000FF]break[/color][/b][COLOR=#990000];[/color]
[tab][b][COLOR=#0000FF]case[/color][/b] [COLOR=#FF0000]'Delete'[/color][COLOR=#990000]:[/color]
[tab][tab][COLOR=#009900]$images[/color] [COLOR=#990000]=[/color] [b][COLOR=#0000FF]new[/color][/b] images[COLOR=#990000];[/color]
[tab][tab][COLOR=#009900]$images[/color][COLOR=#990000]->[/color][b][COLOR=#000000]delete[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$_POST[/color][COLOR=#990000][[/color][COLOR=#FF0000]'imageID'[/color][COLOR=#990000]]);[/color]
[tab][tab][COLOR=#009900]$images[/color][COLOR=#990000]->[/color][b][COLOR=#000000]listImages[/color][/b][COLOR=#990000]();[/color]
[tab][tab][b][COLOR=#0000FF]break[/color][/b][COLOR=#990000];[/color]
[tab][b][COLOR=#0000FF]case[/color][/b] [COLOR=#FF0000]'Edit'[/color][COLOR=#990000]:[/color]
[tab][tab][COLOR=#009900]$images[/color] [COLOR=#990000]=[/color] [b][COLOR=#0000FF]new[/color][/b] images[COLOR=#990000];[/color]
[tab][tab][COLOR=#009900]$images[/color][COLOR=#990000]->[/color][b][COLOR=#000000]editImage[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$_POST[/color][COLOR=#990000][[/color][COLOR=#FF0000]'imageID'[/color][COLOR=#990000]]);[/color]
[tab][tab][b][COLOR=#0000FF]break[/color][/b][COLOR=#990000];[/color]
[tab][b][COLOR=#0000FF]case[/color][/b] [COLOR=#FF0000]'Save'[/color][COLOR=#990000]:[/color]
[tab][tab][COLOR=#009900]$images[/color] [COLOR=#990000]=[/color] [b][COLOR=#0000FF]new[/color][/b] images[COLOR=#990000];[/color]
[tab][tab][b][COLOR=#0000FF]if[/color][/b][COLOR=#990000]([/color][b][COLOR=#0000FF]isset[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$_POST[/color][COLOR=#990000][[/color][COLOR=#FF0000]'imageID'[/color][COLOR=#990000]])):[/color]
[tab][tab][tab][COLOR=#009900]$image[/color] [COLOR=#990000]=&[/color] [COLOR=#009900]$images[/color][COLOR=#990000]->[/color]images[COLOR=#990000][[/color][COLOR=#009900]$_POST[/color][COLOR=#990000][[/color][COLOR=#FF0000]'imageID'[/color][COLOR=#990000]]];[/color]
[tab][tab][tab][COLOR=#009900]$image[/color][COLOR=#990000]->[/color]imageDescription [COLOR=#990000]=[/color] [COLOR=#009900]$_POST[/color][COLOR=#990000][[/color][COLOR=#FF0000]'imageDescription'[/color][COLOR=#990000]];[/color]
[tab][tab][tab][COLOR=#009900]$images[/color][COLOR=#990000]->[/color][b][COLOR=#000000]listImages[/color][/b][COLOR=#990000]();[/color]
[tab][tab][b][COLOR=#0000FF]else[/color][/b][COLOR=#990000]:[/color]
[tab][tab][tab][i][COLOR=#9A1900]//save the uploaded file somewhere and call the addImage method[/color][/i]
[tab][tab][tab][COLOR=#009900]$images[/color][COLOR=#990000]->[/color][b][COLOR=#000000]addImage[/color][/b] [COLOR=#990000]([/color][COLOR=#009900]$_FILES[/color][COLOR=#990000][[/color][COLOR=#FF0000]'imageFile'[/color][COLOR=#990000]][[/color][COLOR=#FF0000]'tmp_name'[/color][COLOR=#990000]],[/color] [COLOR=#009900]$_POST[/color][COLOR=#990000][[/color][COLOR=#FF0000]'imageDescription'[/color][COLOR=#990000]]);[/color]
[tab][tab][tab][COLOR=#009900]$images[/color][COLOR=#990000]->[/color][b][COLOR=#000000]listImages[/color][/b][COLOR=#990000]();[/color]
[tab][tab][b][COLOR=#0000FF]endif[/color][/b][COLOR=#990000];[/color]
[tab][tab][b][COLOR=#0000FF]break[/color][/b][COLOR=#990000];[/color]
[tab][b][COLOR=#0000FF]case[/color][/b] [COLOR=#FF0000]'getImage'[/color][COLOR=#990000]:[/color]
[tab][tab][COLOR=#009900]$images[/color] [COLOR=#990000]=[/color] [b][COLOR=#0000FF]new[/color][/b] images[COLOR=#990000];[/color]
[tab][tab][COLOR=#009900]$images[/color][COLOR=#990000]->[/color]images[COLOR=#990000][[/color][COLOR=#009900]$_GET[/color][COLOR=#990000][[/color][COLOR=#FF0000]'imageID'[/color][COLOR=#990000]]]->[/color][b][COLOR=#000000]outputImage[/color][/b][COLOR=#990000]();[/color]
[tab][tab][b][COLOR=#0000FF]break[/color][/b][COLOR=#990000];[/color]
[tab][b][COLOR=#0000FF]case[/color][/b] [COLOR=#FF0000]'newImage'[/color][COLOR=#990000]:[/color]
[tab][tab][COLOR=#009900]$images[/color] [COLOR=#990000]=[/color] [b][COLOR=#0000FF]new[/color][/b] images[COLOR=#990000];[/color]
[tab][tab][COLOR=#009900]$images[/color][COLOR=#990000]->[/color][b][COLOR=#000000]newImage[/color][/b][COLOR=#990000]();[/color]
[tab][tab][b][COLOR=#0000FF]break[/color][/b][COLOR=#990000];[/color]
[b][COLOR=#0000FF]endswitch[/color][/b][COLOR=#990000];[/color]
[b][COLOR=#0000FF]class[/color][/b] images[COLOR=#FF0000]{[/color]
[tab]
[tab]public [COLOR=#009900]$images[/color] [COLOR=#990000]=[/color] [b][COLOR=#0000FF]array[/color][/b][COLOR=#990000]();[/color]
[tab]private [COLOR=#009900]$storageFile[/color] [COLOR=#990000]=[/color] [COLOR=#FF0000]'testImageStore24.txt'[/color][COLOR=#990000];[/color]
[tab]private [COLOR=#009900]$original[/color] [COLOR=#990000]=[/color] [b][COLOR=#0000FF]array[/color][/b][COLOR=#990000]();[/color]
[tab]private [COLOR=#009900]$storageFileDirectory[/color] [COLOR=#990000]=[/color] [COLOR=#FF0000]''[/color][COLOR=#990000];[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]__construct[/color][/b][COLOR=#990000]()[/color][COLOR=#FF0000]{[/color]
[tab][tab][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFileDirectory [COLOR=#990000]=[/color] [b][COLOR=#000000]getcwd[/color][/b][COLOR=#990000]();[/color]
[tab][tab][b][COLOR=#0000FF]if[/color][/b][COLOR=#990000]([/color] [b][COLOR=#000000]file_exists[/color][/b][COLOR=#990000]([/color][tab][b][COLOR=#000000]realpath[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFileDirectory[COLOR=#990000])[/color] [COLOR=#990000].[/color] DIRECTORY_SEPARATOR [COLOR=#990000].[/color] [COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFile[COLOR=#990000])):[/color]
[tab][tab][tab][COLOR=#009900]$content[/color] [COLOR=#990000]=[/color] [b][COLOR=#000000]file_get_contents[/color][/b][COLOR=#990000]([/color][b][COLOR=#000000]realpath[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFileDirectory[COLOR=#990000])[/color] [COLOR=#990000].[/color] DIRECTORY_SEPARATOR [COLOR=#990000].[/color] [COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFile[COLOR=#990000]);[/color]
[tab][tab][tab][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]images [COLOR=#990000]=[/color] [b][COLOR=#000000]unserialize[/color][/b][COLOR=#990000]([/color][b][COLOR=#000000]trim[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$content[/color][COLOR=#990000]));[/color]
[tab][tab][tab][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]original [COLOR=#990000]=[/color] [COLOR=#009900]$this[/color][COLOR=#990000]->[/color]images[COLOR=#990000];[/color]
[tab][tab][b][COLOR=#0000FF]else[/color][/b][COLOR=#990000]:[/color]
[tab][tab][tab][b][COLOR=#000000]file_put_contents[/color][/b][COLOR=#990000]([/color] [b][COLOR=#000000]realpath[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFileDirectory[COLOR=#990000])[/color] [COLOR=#990000].[/color] DIRECTORY_SEPARATOR [COLOR=#990000].[/color] [COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFile[COLOR=#990000],[/color]
[tab][tab][tab][tab][tab][tab][tab][tab][b][COLOR=#000000]serialize[/color][/b][COLOR=#990000]([/color][b][COLOR=#0000FF]array[/color][/b][COLOR=#990000]())[/color]
[tab][tab][tab][tab][tab][tab][tab][COLOR=#990000]);[/color]
[tab][tab][b][COLOR=#0000FF]endif[/color][/b][COLOR=#990000];[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]__destruct[/color][/b][COLOR=#990000]()[/color][COLOR=#FF0000]{[/color]
[tab][tab][b][COLOR=#000000]date_default_timezone_set[/color][/b][COLOR=#990000]([/color][COLOR=#FF0000]'UTC'[/color][COLOR=#990000]);[/color]
[tab][tab][b][COLOR=#0000FF]if[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]original [COLOR=#990000]!=[/color] [COLOR=#009900]$this[/color][COLOR=#990000]->[/color]images[COLOR=#990000]):[/color]
[tab][tab][tab][b][COLOR=#000000]copy[/color][/b][COLOR=#990000]([/color] [b][COLOR=#000000]realpath[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFileDirectory[COLOR=#990000])[/color] [COLOR=#990000].[/color] DIRECTORY_SEPARATOR [COLOR=#990000].[/color] [COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFile[COLOR=#990000],[/color]
[tab][tab][tab][tab][tab][b][COLOR=#000000]realpath[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFileDirectory[COLOR=#990000])[/color] [COLOR=#990000].[/color] DIRECTORY_SEPARATOR [COLOR=#990000].[/color] [b][COLOR=#000000]date[/color][/b][COLOR=#990000]([/color][COLOR=#FF0000]'Y-m-d_H-i-s'[/color][COLOR=#990000])[/color] [COLOR=#990000].[/color] [COLOR=#FF0000]'_'[/color] [COLOR=#990000].[/color] [COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFile
[tab][tab][tab][tab][COLOR=#990000]);[/color]
[tab][tab][b][COLOR=#0000FF]endif[/color][/b][COLOR=#990000];[/color]
[tab][tab][b][COLOR=#000000]file_put_contents[/color][/b][COLOR=#990000]([/color] [b][COLOR=#000000]realpath[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFileDirectory [COLOR=#990000].[/color] DIRECTORY_SEPARATOR [COLOR=#990000].[/color] [COLOR=#009900]$this[/color][COLOR=#990000]->[/color]storageFile[COLOR=#990000]),[/color]
[tab][tab][tab][tab][tab][tab][tab][b][COLOR=#000000]serialize[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]images[COLOR=#990000]));[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]delete[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$imageID[/color][COLOR=#990000])[/color][COLOR=#FF0000]{[/color]
[tab][tab][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]images[COLOR=#990000][[/color][COLOR=#009900]$imageID[/color][COLOR=#990000]]->[/color][b][COLOR=#000000]markDeleted[/color][/b][COLOR=#990000]();[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]addImage[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$imageFileName[/color][COLOR=#990000],[/color] [COLOR=#009900]$imageDescription[/color][COLOR=#990000])[/color][COLOR=#FF0000]{[/color]
[tab][tab][COLOR=#009900]$image[/color] [COLOR=#990000]=[/color] [b][COLOR=#0000FF]new[/color][/b] image[COLOR=#990000];[/color]
[tab][tab][COLOR=#009900]$image[/color][COLOR=#990000]->[/color][b][COLOR=#000000]newImage[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$imageFileName[/color][COLOR=#990000],[/color] [COLOR=#009900]$imageDescription[/color][COLOR=#990000]);[/color]
[tab][tab][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]images[COLOR=#990000][[/color][COLOR=#009900]$image[/color][COLOR=#990000]->[/color]imageID[COLOR=#990000]][/color] [COLOR=#990000]=[/color] [COLOR=#009900]$image[/color][COLOR=#990000];[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]editImage[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$imageID[/color][COLOR=#990000])[/color][COLOR=#FF0000]{[/color]
[tab][tab][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]images[COLOR=#990000][[/color][COLOR=#009900]$imageID[/color][COLOR=#990000]]->[/color][b][COLOR=#000000]output[/color][/b][COLOR=#990000]([/color]true[COLOR=#990000]);[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]listImages[/color][/b][COLOR=#990000]()[/color][COLOR=#FF0000]{[/color]
[tab][tab][COLOR=#990000]?>[/color]
[COLOR=#990000]<[/color]div id[COLOR=#990000]=[/color][COLOR=#FF0000]"imagesList"[/color][COLOR=#990000]>[/color]
[tab][COLOR=#990000]<[/color]table[COLOR=#990000]>[/color]
[tab][tab]
[tab][tab][COLOR=#990000]<[/color]thead[COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]tr[COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]<[/color]th[COLOR=#990000]>[/color]Image ID[COLOR=#990000]</[/color]th[COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]<[/color]th[COLOR=#990000]>[/color]Image FileName[COLOR=#990000]</[/color]th[COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]<[/color]th[COLOR=#990000]>[/color]Image Description[COLOR=#990000]</[/color]th[COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]<[/color]th[COLOR=#990000]>[/color]Image Thumbnail[COLOR=#990000]</[/color]th[COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]<[/color]th[COLOR=#990000]><[/color]a href[COLOR=#990000]=[/color][COLOR=#FF0000]"?action=newImage"[/color][COLOR=#990000]>[/color]New Image[COLOR=#990000]</[/color]a[COLOR=#990000]></[/color]th[COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]</[/color]tr[COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]</[/color]thead[COLOR=#990000]>[/color]
[COLOR=#990000]<?php[/color] [b][COLOR=#0000FF]foreach[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]images [b][COLOR=#0000FF]as[/color][/b] [COLOR=#009900]$image[/color][COLOR=#990000]):[/color]
[tab][tab][tab][b][COLOR=#0000FF]if[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$image[/color][COLOR=#990000]->[/color]deleted [COLOR=#990000]==[/color] false[COLOR=#990000])[/color] [b][COLOR=#0000FF]echo[/color][/b] [COLOR=#009900]$image[/color][COLOR=#990000]->[/color][b][COLOR=#000000]showListData[/color][/b][COLOR=#990000]();[/color]
[tab][tab][b][COLOR=#0000FF]endforeach[/color][/b][COLOR=#990000];[/color]
[COLOR=#990000]?>[/color]
[COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[COLOR=#990000]<?php[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]newImage[/color][/b][COLOR=#990000]()[/color][COLOR=#FF0000]{[/color]
[tab][tab][COLOR=#009900]$image[/color] [COLOR=#990000]=[/color] [b][COLOR=#0000FF]new[/color][/b] image[COLOR=#990000];[/color]
[tab][tab][COLOR=#009900]$image[/color][COLOR=#990000]->[/color][b][COLOR=#000000]outputNew[/color][/b][COLOR=#990000]();[/color]
[tab][COLOR=#FF0000]}[/color]
[COLOR=#FF0000]}[/color]
[b][COLOR=#0000FF]class[/color][/b] image [COLOR=#FF0000]{[/color]
[tab]public [COLOR=#009900]$imageFileName[/color][COLOR=#990000]=[/color][COLOR=#FF0000]''[/color][COLOR=#990000];[/color]
[tab]public [COLOR=#009900]$imageID[/color] [COLOR=#990000]=[/color] [COLOR=#FF0000]''[/color][COLOR=#990000];[/color]
[tab]public [COLOR=#009900]$imageDescription[/color][COLOR=#990000];[/color]
[tab]public [COLOR=#009900]$deleted[/color] [COLOR=#990000]=[/color] false[COLOR=#990000];[/color]
[tab]public [COLOR=#009900]$imageStorageDirectory[/color] [COLOR=#990000]=[/color] [COLOR=#FF0000]''[/color][COLOR=#990000];[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]__construct[/color][/b][COLOR=#990000]()[/color][COLOR=#FF0000]{[/color]
[tab][tab][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageStorageDirectory [COLOR=#990000]=[/color] [b][COLOR=#000000]getcwd[/color][/b][COLOR=#990000]();[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]newImage[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$imageFileName[/color][COLOR=#990000],[/color] [COLOR=#009900]$imageDescription[/color][COLOR=#990000])[/color][COLOR=#FF0000]{[/color]
[tab][tab][COLOR=#009900]$fileName[/color] [COLOR=#990000]=[/color] [COLOR=#009900]$this[/color][COLOR=#990000]->[/color][b][COLOR=#000000]getUniqueFileName[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$imageFileName[/color][COLOR=#990000]);[/color]
[tab][tab][b][COLOR=#000000]move_uploaded_file[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$imageFileName[/color][COLOR=#990000],[/color] [b][COLOR=#000000]realpath[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageStorageDirectory[COLOR=#990000])[/color] [COLOR=#990000].[/color] DIRECTORY_SEPARATOR [COLOR=#990000].[/color] [COLOR=#009900]$fileName[/color][COLOR=#990000]);[/color]
[tab][tab][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageFileName [COLOR=#990000]=[/color] [COLOR=#009900]$fileName[/color][COLOR=#990000];[/color]
[tab][tab][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageDescription [COLOR=#990000]=[/color] [COLOR=#009900]$imageDescription[/color][COLOR=#990000];[/color]
[tab][tab][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageID [COLOR=#990000]=[/color] [b][COLOR=#000000]md5[/color][/b][COLOR=#990000]([/color][b][COLOR=#000000]uniqid[/color][/b][COLOR=#990000]([/color][COLOR=#FF0000]''[/color][COLOR=#990000],[/color] true[COLOR=#990000]));[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]getUniqueFileName[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$imageFileName[/color][COLOR=#990000])[/color][COLOR=#FF0000]{[/color]
[tab][tab][b][COLOR=#0000FF]list[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$w[/color][COLOR=#990000],[/color][COLOR=#009900]$h[/color][COLOR=#990000],[/color][COLOR=#009900]$type[/color][COLOR=#990000])[/color] [COLOR=#990000]=[/color] [b][COLOR=#000000]getimagesize[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$imageFileName[/color][COLOR=#990000]);[/color]
[tab][tab][b][COLOR=#0000FF]return[/color][/b] [b][COLOR=#000000]uniqid[/color][/b][COLOR=#990000]([/color][COLOR=#FF0000]'Image_'[/color][COLOR=#990000],[/color] true[COLOR=#990000])[/color] [COLOR=#990000].[/color] [b][COLOR=#000000]image_type_to_extension[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$type[/color][COLOR=#990000]);[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]markDeleted[/color][/b][COLOR=#990000]()[/color][COLOR=#FF0000]{[/color]
[tab][tab][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]deleted [COLOR=#990000]=[/color] true[COLOR=#990000];[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]output[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$editable[/color][COLOR=#990000]=[/color]false[COLOR=#990000])[/color][COLOR=#FF0000]{[/color]
[tab][tab][b][COLOR=#0000FF]if[/color][/b] [COLOR=#990000]([/color][COLOR=#009900]$editable[/color][COLOR=#990000])[/color] [b][COLOR=#0000FF]return[/color][/b] [COLOR=#009900]$this[/color][COLOR=#990000]->[/color][b][COLOR=#000000]outputEditable[/color][/b][COLOR=#990000]();[/color]
[tab][tab][b][COLOR=#0000FF]return[/color][/b] [COLOR=#009900]$this[/color][COLOR=#990000]->[/color][b][COLOR=#000000]outputFixed[/color][/b][COLOR=#990000]();[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]showListData[/color][/b][COLOR=#990000]()[/color][COLOR=#FF0000]{[/color]
[COLOR=#990000]?>[/color]
[tab][tab][COLOR=#990000]<[/color]tbody[COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]<[/color]tr[COLOR=#990000]>[/color]
[tab][tab][tab][tab][COLOR=#990000]<[/color]td[COLOR=#990000]><?=[/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageID[COLOR=#990000];?></[/color]td[COLOR=#990000]>[/color]
[tab][tab][tab][tab][COLOR=#990000]<[/color]td[COLOR=#990000]><?=[/color][b][COLOR=#000000]htmlspecialchars[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageFileName[COLOR=#990000]);?></[/color]td[COLOR=#990000]>[/color]
[tab][tab][tab][tab][COLOR=#990000]<[/color]td[COLOR=#990000]><?=[/color][b][COLOR=#000000]htmlspecialchars[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageDescription[COLOR=#990000]);?></[/color]td[COLOR=#990000]>[/color]
[tab][tab][tab][tab][COLOR=#990000]<[/color]td[COLOR=#990000]><?=[/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color][b][COLOR=#000000]getIMGtag[/color][/b][COLOR=#990000]();?></[/color]td[COLOR=#990000]>[/color]
[tab][tab][tab][tab][COLOR=#990000]<[/color]td[COLOR=#990000]>[/color]
[tab][tab][tab][tab][tab][COLOR=#990000]<[/color]form action[COLOR=#990000]=[/color][COLOR=#FF0000]""[/color] method[COLOR=#990000]=[/color][COLOR=#FF0000]"post"[/color][COLOR=#990000]>[/color]
[tab][tab][tab][tab][tab][COLOR=#990000]<[/color]input type[COLOR=#990000]=[/color][COLOR=#FF0000]"hidden"[/color] name[COLOR=#990000]=[/color][COLOR=#FF0000]"imageID"[/color] value[COLOR=#990000]=[/color][COLOR=#FF0000]"<?=$this->imageID;?>"[/color][COLOR=#990000]>[/color]
[tab][tab][tab][tab][tab][COLOR=#990000]<[/color]input type[COLOR=#990000]=[/color][COLOR=#FF0000]"submit"[/color] name[COLOR=#990000]=[/color][COLOR=#FF0000]"action"[/color] value[COLOR=#990000]=[/color][COLOR=#FF0000]"Delete"[/color] [COLOR=#990000]/>[/color]
[tab][tab][tab][tab][tab][COLOR=#990000]<[/color]input type[COLOR=#990000]=[/color][COLOR=#FF0000]"submit"[/color] name[COLOR=#990000]=[/color][COLOR=#FF0000]"action"[/color] value[COLOR=#990000]=[/color][COLOR=#FF0000]"Edit"[/color] [COLOR=#990000]/>[/color]
[tab][tab][tab][tab][COLOR=#990000]</[/color]form[COLOR=#990000]>[/color]
[tab][tab][tab][tab][COLOR=#990000]</[/color]td[COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]</[/color]tr[COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]</[/color]tbody[COLOR=#990000]>[/color]
[COLOR=#990000]<?php[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]outputImage[/color][/b][COLOR=#990000]()[/color][COLOR=#FF0000]{[/color]
[tab][tab][b][COLOR=#0000FF]list[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$width[/color][COLOR=#990000],[/color] [COLOR=#009900]$height[/color][COLOR=#990000],[/color] [COLOR=#009900]$type[/color][COLOR=#990000],[/color] [COLOR=#009900]$attr[/color][COLOR=#990000])[/color] [COLOR=#990000]=[/color] [b][COLOR=#000000]getimagesize[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageFileName[COLOR=#990000]);[/color]
[tab][tab][COLOR=#009900]$fh[/color] [COLOR=#990000]=[/color] [b][COLOR=#000000]fopen[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageStorageDirectory [COLOR=#990000].[/color] DIRECTORY_SEPARATOR [COLOR=#990000].[/color] [COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageFileName[COLOR=#990000],[/color][COLOR=#FF0000]'rb'[/color][COLOR=#990000]);[/color]
[tab][tab][b][COLOR=#0000FF]if[/color][/b][COLOR=#990000](![/color][COLOR=#009900]$fh[/color][COLOR=#990000])[/color] [b][COLOR=#0000FF]die[/color][/b][COLOR=#990000]([/color][COLOR=#FF0000]'cannot open image for reading'[/color][COLOR=#990000]);[/color]
[tab][tab][b][COLOR=#000000]header[/color][/b][COLOR=#990000]([/color][COLOR=#FF0000]'Content-type: '[/color] [COLOR=#990000].[/color] [COLOR=#009900]$type[/color][COLOR=#990000]);[/color]
[tab][tab][b][COLOR=#000000]fpassthru[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$fh[/color][COLOR=#990000]);[/color]
[tab][tab][b][COLOR=#000000]fclose[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$fh[/color][COLOR=#990000]);[/color]
[tab][tab][b][COLOR=#0000FF]exit[/color][/b][COLOR=#990000];[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]private [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]getImgTag[/color][/b][COLOR=#990000]()[/color][COLOR=#FF0000]{[/color]
[tab][tab][b][COLOR=#0000FF]list[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$width[/color][COLOR=#990000],[/color] [COLOR=#009900]$height[/color][COLOR=#990000])[/color] [COLOR=#990000]=[/color] [b][COLOR=#000000]getimagesize[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageFileName[COLOR=#990000]);[/color]
[tab][tab][COLOR=#009900]$max[/color] [COLOR=#990000]=[/color] [COLOR=#993399]80[/color][COLOR=#990000];[/color]
[tab][tab][b][COLOR=#0000FF]if[/color][/b] [COLOR=#990000]([/color][COLOR=#009900]$height[/color] [COLOR=#990000]>[/color] [COLOR=#009900]$width[/color][COLOR=#990000]):[/color]
[tab][tab][tab][COLOR=#009900]$newHeight[/color] [COLOR=#990000]=[/color] [COLOR=#993399]80[/color][COLOR=#990000];[/color]
[tab][tab][tab][COLOR=#009900]$newWidth[/color] [COLOR=#990000]=[/color] [b][COLOR=#000000]round[/color][/b][COLOR=#990000](([/color][COLOR=#993399]80[/color][COLOR=#990000]/[/color][COLOR=#009900]$height[/color] [COLOR=#990000])[/color] [COLOR=#990000]*[/color] [COLOR=#009900]$width[/color][COLOR=#990000]);[/color]
[tab][tab][b][COLOR=#0000FF]else[/color][/b][COLOR=#990000]:[/color]
[tab][tab][tab][COLOR=#009900]$newWidth[/color] [COLOR=#990000]=[/color] [COLOR=#993399]80[/color][COLOR=#990000];[/color]
[tab][tab][tab][COLOR=#009900]$newHeight[/color] [COLOR=#990000]=[/color] [b][COLOR=#000000]round[/color][/b][COLOR=#990000](([/color][COLOR=#993399]80[/color][COLOR=#990000]/[/color][COLOR=#009900]$width[/color] [COLOR=#990000])[/color] [COLOR=#990000]*[/color] [COLOR=#009900]$height[/color][COLOR=#990000]);[/color]
[tab][tab][b][COLOR=#0000FF]endif[/color][/b][COLOR=#990000];[/color]
[tab][tab][b][COLOR=#0000FF]return[/color][/b] [COLOR=#990000]<<<[/color]HTML
[COLOR=#990000]<[/color]img height[COLOR=#990000]=[/color][COLOR=#FF0000]"{$newHeight}px"[/color] width[COLOR=#990000]=[/color][COLOR=#FF0000]"{$newWidth}px"[/color] src[COLOR=#990000]=[/color][COLOR=#FF0000]"?action=getImage&imageID={$this->imageID}"[/color] [COLOR=#990000]/>[/color]
HTML[COLOR=#990000];[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]private [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]outputEditable[/color][/b][COLOR=#990000]()[/color][COLOR=#FF0000]{[/color]
[COLOR=#990000]?>[/color]
[COLOR=#990000]<[/color]form method[COLOR=#990000]=[/color][COLOR=#FF0000]"post"[/color] action[COLOR=#990000]=[/color][COLOR=#FF0000]"<?=$_SERVER['PHP_SELF'];?>"[/color][COLOR=#990000]>[/color]
[tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"row"[/color][COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"label"[/color][COLOR=#990000]>[/color]
[tab][tab][tab]Image File Name
[tab][tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"field"[/color][COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]<?=[/color][b][COLOR=#000000]htmlspecialchars[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageFileName[COLOR=#990000]);?>[/color]
[tab][tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"row"[/color][COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"label"[/color][COLOR=#990000]>[/color]
[tab][tab][tab]Image Description
[tab][tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"field"[/color][COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]<[/color]textarea name[COLOR=#990000]=[/color][COLOR=#FF0000]"imageDescription"[/color][COLOR=#990000]><?=[/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageDescription[COLOR=#990000];?></[/color]textarea[COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"buttons"[/color][COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]input type[COLOR=#990000]=[/color][COLOR=#FF0000]"submit"[/color] name[COLOR=#990000]=[/color][COLOR=#FF0000]"action"[/color] value[COLOR=#990000]=[/color][COLOR=#FF0000]"Save"[/color][COLOR=#990000]/>[/color]
[tab][tab][COLOR=#990000]<[/color]input type[COLOR=#990000]=[/color][COLOR=#FF0000]"hidden"[/color] name[COLOR=#990000]=[/color][COLOR=#FF0000]"imageID"[/color] value[COLOR=#990000]=[/color][COLOR=#FF0000]"<?=$this->imageID;?>"[/color][COLOR=#990000]/>[/color]
[tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[COLOR=#990000]</[/color]form[COLOR=#990000]>[/color]
[COLOR=#990000]<?php[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]private [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]outputFixed[/color][/b][COLOR=#990000]()[/color][COLOR=#FF0000]{[/color]
[tab][COLOR=#990000]?>[/color]
[tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"row"[/color][COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"label"[/color][COLOR=#990000]>[/color]
[tab][tab][tab]Image File Name
[tab][tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"field"[/color][COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]<?=[/color][b][COLOR=#000000]htmlspecialchars[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageFileName[COLOR=#990000]);?>[/color]
[tab][tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"row"[/color][COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"label"[/color][COLOR=#990000]>[/color]
[tab][tab][tab]Image Description
[tab][tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"field"[/color][COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]<?=[/color][b][COLOR=#000000]nl2br[/color][/b][COLOR=#990000]([/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageDescription[COLOR=#990000]);?>[/color]
[tab][tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[COLOR=#990000]<?php[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[tab]public [b][COLOR=#0000FF]function[/color][/b] [b][COLOR=#000000]outputNew[/color][/b][COLOR=#990000]()[/color][COLOR=#FF0000]{[/color]
[COLOR=#990000]?>[/color]
[COLOR=#990000]<[/color]form method[COLOR=#990000]=[/color][COLOR=#FF0000]"post"[/color] action[COLOR=#990000]=[/color][COLOR=#FF0000]"<?=$_SERVER['PHP_SELF'];?> "[/color] enctype[COLOR=#990000]=[/color][COLOR=#FF0000]"multipart/form-data"[/color][COLOR=#990000]>[/color]
[tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"row"[/color][COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"label"[/color][COLOR=#990000]>[/color]
[tab][tab][tab]Image File
[tab][tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"field"[/color][COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]<[/color]input type[COLOR=#990000]=[/color][COLOR=#FF0000]"file"[/color] name[COLOR=#990000]=[/color][COLOR=#FF0000]"imageFile"[/color] [COLOR=#990000]/>[/color]
[tab][tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"row"[/color][COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"label"[/color][COLOR=#990000]>[/color]
[tab][tab][tab]Image Description
[tab][tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"field"[/color][COLOR=#990000]>[/color]
[tab][tab][tab][COLOR=#990000]<[/color]textarea name[COLOR=#990000]=[/color][COLOR=#FF0000]"imageDescription"[/color][COLOR=#990000]><?=[/color][COLOR=#009900]$this[/color][COLOR=#990000]->[/color]imageDescription[COLOR=#990000];?></[/color]textarea[COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[tab][COLOR=#990000]<[/color]div [b][COLOR=#0000FF]class[/color][/b][COLOR=#990000]=[/color][COLOR=#FF0000]"buttons"[/color][COLOR=#990000]>[/color]
[tab][tab][COLOR=#990000]<[/color]input type[COLOR=#990000]=[/color][COLOR=#FF0000]"submit"[/color] name[COLOR=#990000]=[/color][COLOR=#FF0000]"action"[/color] value[COLOR=#990000]=[/color][COLOR=#FF0000]"Save"[/color][COLOR=#990000]/>[/color]
[tab][COLOR=#990000]</[/color]div[COLOR=#990000]>[/color]
[COLOR=#990000]</[/color]form[COLOR=#990000]>[/color]
[COLOR=#990000]<?php[/color]
[tab][COLOR=#FF0000]}[/color]
[tab]
[COLOR=#FF0000]}[/color]