<?php
#########################################################
# #
# MMS Gallery MMS_LIB.PHP version 1.0 #
# #
# This MMS Gallery PHP code is written for #
# mms2web.com customers. This code contains #
# all the functions needed to display the #
# MMS files saved on your FTP directory #
# (path defined in mms.php file $mms_dir variable). #
# Save this file to your WWW root directory #
# together with the mms.php file. #
# You are free to make changes to this PHP code #
# and you may distribute it further. #
# Check for frequent updates at www.mms2web.com #
# #
#########################################################
# Filetype info matrix (image, text, audio, video)
Function file_type($filetype) {
Switch ($filetype) {
case 'txt':
$filecase='text';
break;
case 'jpg':
$filecase='image';
break;
case 'gif':
$filecase='image';
break;
case 'bmp':
$filecase='image';
break;
case 'png':
$filecase='image';
break;
case 'amr':
$filecase='audio';
break;
case 'mid':
$filecase='audio';
break;
case 'wav':
$filecase='audio';
break;
case 'mp3':
$filecase='audio';
break;
case 'au':
$filecase='audio';
break;
case 'imy':
$filecase='audio';
break;
case '3gp':
$filecase='video';
break;
case 'mpg':
$filecase='video';
break;
case 'mov':
$filecase='video';
break;
case 'rv':
$filecase='video';
break;
}
return $filecase;
}
# list MMS folder content to an array
Function filelist($mms_dir) {
# Open the folder
if ($filedir = opendir("$mms_dir")){
# Read the folder content
while (false !== ($file = readdir($filedir))){
# Exlude files that are not to be included in the array
if ($file != "." and $file != ".." and $file != "ftp_transfer_test.txt" and $file != "http_transfer_test.txt" and substr($file,0,4)!='nail'){
# List the folder content to an array
$filelist[] = "$file";
}
}
# Close the folder
closedir($filedir);
if ($filelist) {
rsort($filelist, SORT_NUMERIC);
reset($filelist);
} else {
return false;
}
} else {
echo 'Cannot open directory';
}
Return $filelist;
}
# Split the filename for the MMS properties (file id, mms id, encryption, timestamp, phone number, filetype)
Function filename_split($filename) {
$filename_split=explode('_',$filename);
$filename_split[5]=$filename;
$ts=$filename_split[3];
$unix_time=mktime(substr($ts,8,2),substr($ts,10,2),substr($ts,12,2),substr($ts,4,2),substr($ts,6,2),substr($ts,0,4));
# You can change this timestamp format
$filename_split[6]=date( 'd.m.Y H:i:s', $unix_time);
$filetype_split=explode('.',$filename_split[4]);
$filename_array=array_merge($filename_split,$filetype_split);
return $filename_array;
}
# create a table of all the MMS properties listed for each file
Function mms_database($mms_dir) {
$filelist=filelist($mms_dir);
if ($filelist) {
while (list($arr) = each($filelist)){
$filename = $filelist[$arr];
$mms_database[]=filename_split($filename);
}
return $mms_database;
}
}
# Modify the MMS database table for display purposes
Function mms_table($mms_dir) {
$mms_database=mms_database($mms_dir);
if (is_array($mms_database)) {
$mms_id=$mms_database[0][1];
reset($mms_database);
$k = 0;
while (list($arr) = each($mms_database)) {
$mms_id_old = $mms_id;
$mms_id=$mms_database[$arr][1];
$timestamp=$mms_database[$arr][6];
$phone_number=$mms_database[$arr][7];
$filetype=$mms_database[$arr][8];
if ($mms_id_old != $mms_id) {
$filenames="";
$k++;
}
# Fetch info from filetype info matrix
$filecase=file_type($filetype);
$filepath=$mms_database[$arr][5];
Switch ($filecase) {
case 'image':
# image is fetched this way if it is off the web root
$filenames.="<a href=\"javascript:showMessage('mms_template/get_image.php?id=$filepath')\" ><img src=\"mms_template/get_image_nail.php?id=$filepath\" alt=\"Click for larger image\" border=\"0\"></a> ";
break;
case 'audio':
$filenames.="<a href=\"mms_template/get_file.php?id=$filepath\" ><img src=\"mms_template/sound_clip.jpg\" alt=\"Click to download sound clip\" border=\"1\"></a> ";
break;
case 'video':
$filenames.="<a href=\"mms_template/get_file.php?id=$filepath\" ><img src=\"mms_template/video_clip.jpg\" alt=\"Click to download video clip\" border=\"1\"></a> ";
break;
case 'text':
$filepath=$mms_dir.'/'.$mms_database[$arr][5];
$fp=fopen("$filepath","r");
$content=fread($fp,'1000000');
fclose($fp);
$filenames.='<br>'.nl2br(trim(htmlspecialchars($content,ENT_QUOTES))).'<br>';
break;
}
$mms_table["$k"]=array("$timestamp","$phone_number","$filenames");
}
}
return $mms_table;
}
Function next2prev($count, $offset) {
global $mms_per_page;
$prev = $offset - $mms_per_page;
$newoffset = $offset + $mms_per_page;
$qty_pages=ceil($count/$mms_per_page);
$pageoffset=0;
for ($i=1; $i<=$qty_pages; $i++) {
$k="<a href=\"".basename($_SERVER['PHP_SELF'])."?os=$pageoffset\">$i</a>";
$page_numbers.= $k." | ";
$pageoffset=$pageoffset + $mms_per_page;
}
if (!empty($page_numbers)) {
$page_numbers=" | ".$page_numbers;
}
if($offset == 0) {
if($newoffset < $count) {
$Button.=$page_numbers;
$Button.= " <a href=\"".basename($_SERVER['PHP_SELF'])."?os=$newoffset\">Next</a> ";
}
} else if($newoffset >= $count) {
$Button.= " <a href=\"".basename($_SERVER['PHP_SELF'])."?os=$prev\">Previous</a> ";
$Button.=$page_numbers;
} else {
$Button.= " <a href=\"".basename($_SERVER['PHP_SELF'])."?os=$prev\">Previous</a> ";
$Button.=$page_numbers;
$Button.= " <a href=\"".basename($_SERVER['PHP_SELF'])."?os=$newoffset\">Next</a> ";
}
return $Button;
}
?>