PageRenderTime 47ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/includes/build_media_content.php

https://bitbucket.org/mpercy/deeemm-cms
PHP | 325 lines | 210 code | 62 blank | 53 comment | 47 complexity | 900f7efcf1b5dec01fa529d4670a01eb MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause
  1. <?php
  2. defined( '_INDM' ) or die( 'POSSIBLE HACK ATTEMPT!' );
  3. /*===========================================================================
  4. Get last modified date
  5. ===========================================================================*/
  6. $media_library_last_modified = @mysql_result(mysql_query("SELECT max(date) FROM " . $db_table_prefix . 'cat_' . $page),0);
  7. $media_library_last_modified = strftime("%a %d %b %Y", strtotime($media_library_last_modified));
  8. /*===========================================================================
  9. Get number of files in library
  10. ===========================================================================*/
  11. $sql_result = mysql_query("select count(*) from `" . $db_table_prefix . 'cat_' . $page . "`");
  12. $media_library_num_images = @mysql_result($sql_result,0);
  13. /*===========================================================================
  14. Get navigation id info
  15. PLEASE NOTE!!
  16. id values are unique but may not be concurrent so we need to get actual
  17. values from database and not simply increment / decrement current id value!!!
  18. ===========================================================================*/
  19. //create array of all id's
  20. $file_id_array = array();
  21. $sql_query = mysql_query("SELECT * FROM `" . $db_table_prefix . 'cat_' . $page . "` ORDER BY `id`");
  22. while($sql_result = mysql_fetch_array($sql_query)){
  23. $file_id_array[] .= $sql_result[id];
  24. }
  25. //get position of current id in array
  26. $position = array_search($id, $file_id_array);
  27. //get value of first id
  28. $file_first = $file_id_array[0];
  29. //get value of last id
  30. $file_last = end($file_id_array);
  31. //$media_library_num_images - $media_library_thumbs_per_page + 1
  32. //get id for previous file
  33. $index = $position - 1;
  34. if ($index < 0) {
  35. $file_prev = $file_first;
  36. } else {
  37. $file_prev = $file_id_array[$index];
  38. }
  39. //get id for next file
  40. $index = $position + 1;
  41. if ($index >= count($file_id_array)) {
  42. $file_next = $file_last;
  43. } else {
  44. $file_next = $file_id_array[$index];
  45. }
  46. //get id for first thumbnail file on page
  47. $a = $id-1;
  48. $media_library_index_first_image = ($a - ($a % $media_library_thumbs_per_page) + 1);
  49. if ($media_library_index_first_image <= 0) $media_library_index_first_image = 1;
  50. if ($media_library_index_first_image > $media_library_num_images) $media_library_index_first_image = $media_library_num_images;
  51. //create general nav links
  52. $media_nav = "<A href='./index.php?page=$page&amp;action=thumbnails' alt='[var]MEDIA[/var]' title='[var]MEDIA_TITLE[/var]'>$lan[thumbnails]</A><BR />";
  53. $media_nav .= "<A href='./index.php?page=$page&amp;action=list' alt='[var]MEDIA[/var]' title='[var]MEDIA_TITLE[/var]'>$lan[filelist]</A><BR />";
  54. /*===========================================================================
  55. Get selection for default view for media library
  56. ===========================================================================*/
  57. if ($action == '' && $id == '') {
  58. $sql_result = mysql_query("select count(*) from `" . $db_table_prefix . 'cat_' . $page . "`");
  59. $media_library_num_images = @mysql_result($sql_result,0);
  60. $sql_query = mysql_query("SELECT * FROM `" . $db_table_prefix . "core_structure` WHERE `table` = '$page'");
  61. while($sql_result = mysql_fetch_array($sql_query)){
  62. $action = $sql_result['media_library_default_view'];
  63. }
  64. switch ($action) {
  65. case 'thumbnails';
  66. $id = NULL;
  67. break;
  68. case 'list';
  69. break;
  70. case 'first';
  71. //get value of first id
  72. $id = $file_first;
  73. $action = NULL;
  74. break;
  75. case 'last';
  76. //get value of last id
  77. $id = $file_last;
  78. $action = NULL;
  79. break;
  80. }//end switch $action
  81. }//endif
  82. /*===========================================================================
  83. Display image
  84. ===========================================================================*/
  85. IF ($id <> '' && !$action) {
  86. $media_library_image_nav = $media_library_image_edit . "<A href='$default_url" . "index.php?page=$page&amp;id=$file_prev'><img class='icon' title='Previous' src='$default_url".$templates_dir."images/icons/previous.gif'></A> <A href='$default_url" . "index.php?page=$page&amp;action=thumbnails&amp;id=$media_library_index_first_image'><img class='icon' title='View Thumbnails' src='$default_url".$templates_dir."images/icons/view_thumbnails.gif'></A> <A href='$default_url" . "index.php?page=$page&amp;action=list'><img class='icon' title='View as List' src='$default_url".$templates_dir."images/icons/view_list.gif'></A> <A href='$default_url" . "index.php?page=$page&amp;id=$file_next'><img class='icon' title='Next' src='$default_url".$templates_dir."images/icons/next.gif'></A>" . $lf;
  87. $media_library_image_name = NULL;
  88. $sql_query = mysql_query("SELECT * FROM `" . $db_table_prefix . 'cat_' . $page . "` WHERE `id` = $id");
  89. while($sql_result = mysql_fetch_array($sql_query)){
  90. $sql_query2 = mysql_query("SELECT * FROM `" . $db_table_prefix . "core_structure` WHERE `table` = '$sql_result[category]'");
  91. while($sql_result2 = mysql_fetch_array($sql_query2)){
  92. $media_library_image_category = $sql_result2[category_lan_ . $language];
  93. }
  94. $media_library_image_title = $sql_result[title_lan_.$language];
  95. $media_library_image_description = $sql_result[description_lan_.$language];
  96. $media_library_image_date = $sql_result[date];
  97. $media_library_image_date = strftime("%a %d %b %Y", strtotime($media_library_image_date));
  98. $media_library_image_name = $sql_result[image];
  99. $media_library_image_src = $media_dir . $sql_result[image];
  100. }
  101. //check if name exists
  102. if (!isset($media_library_image_name)){
  103. $media_library_image_src = $media_dir . 'image_unavailable.jpg';
  104. }
  105. // if (stristr($media_library_image_name,".mpg")) $media_library_image_src = $media_dir . 'mpeg.jpg';
  106. // if (stristr($media_library_image_name,".mov")) $media_library_image_src = $media_dir . 'quicktime.jpg';
  107. if (stristr($media_library_image_name,".zip")) $media_library_image_src = $media_dir . 'zip_file.jpg';
  108. if (stristr($media_library_image_name,".pdf")) $media_library_image_src = $media_dir . 'pdf_file.jpg';
  109. //limit image size to max size
  110. list($src_width, $src_height) = getimagesize($media_library_image_src);
  111. if ($src_width < $media_library_max_image_width) $media_library_max_image_width = $src_width;
  112. //get file extension
  113. $media_library_image_extension = strrchr($media_library_image_src, '.');
  114. //select template based on extension
  115. switch ($media_library_image_extension) {
  116. case '';
  117. case '.jpg';
  118. case '.gif';
  119. case '.png';
  120. case '.tif';
  121. case '.bmp';
  122. $content = $default_url . $templates_dir ."media_display_image.tpl";
  123. break;
  124. case '.mpg';
  125. $content = $default_url . $templates_dir ."media_display_mpeg.tpl";
  126. break;
  127. case '.mov';
  128. $content = $default_url . $templates_dir ."media_display_mov.tpl";
  129. break;
  130. case '.pdf';
  131. $content = $default_url . $templates_dir ."media_display_pdf.tpl";
  132. break;
  133. case '.zip';
  134. $content = $default_url . $templates_dir ."media_display_image.tpl";
  135. break;
  136. }//end switch $media_library_image_extension
  137. //read template file
  138. $main = read_file($content);
  139. $media_library_image_num = $id;
  140. if ($media_library_image_category == '') $media_library_image_category = $lan[general];
  141. $page_title .= $cookie_trial_seperator . $media_library_image_category . $cookie_trial_seperator . $media_library_image_title;
  142. $cookie_trial .= $cookie_trial_seperator . $media_library_image_category . $cookie_trial_seperator . $media_library_image_title;
  143. }
  144. /*===========================================================================
  145. Display as list
  146. ===========================================================================*/
  147. IF ($action == 'list') {
  148. $last_media_library_category = '~!nothing!~';
  149. $main = read_file($default_url . $templates_dir . "media_index.tpl");
  150. $media_library_index_nav = "<A href='$default_url" . "index.php?page=$page&amp;action=thumbnails&amp;id=$media_library_index_first_image'><img class='icon' title='View Thumbnails' src='$default_url".$templates_dir."images/icons/view_thumbnails.gif'></A>" . $lf;
  151. $sql_query = mysql_query("SELECT * FROM `" . $db_table_prefix . 'cat_' . $page . "` ORDER BY `category`");
  152. while($sql_result = mysql_fetch_array($sql_query)){
  153. $media_library_image_name = $sql_result[image];
  154. $media_library_image_extension = strrchr($media_library_image_name, '.');
  155. switch ($media_library_image_extension) {
  156. case '.jpg';
  157. case '.gif';
  158. case '.png';
  159. case '.bmp';
  160. $media_library_image_title = $lan[picture] . ' - ';
  161. break;
  162. case '.mpg';
  163. $media_library_image_title = $lan[video] . ' - ';
  164. break;
  165. case '.mov';
  166. $media_library_image_title = $lan[video] . ' - ';
  167. break;
  168. case '.pdf';
  169. $media_library_image_title = $lan[pdf] . ' - ';
  170. break;
  171. case '.zip';
  172. $media_library_image_title = $lan[zip] . ' - ';
  173. break;
  174. }
  175. $media_library_image_title .= $sql_result[title_lan_.$language];
  176. $media_library_image_description = $sql_result[description_lan_.$language];
  177. $media_library_image_num = $sql_result[id];
  178. $media_library_image_date = $sql_result[date];
  179. $media_library_image_date = strftime("%a %d %b %Y", strtotime($media_library_image_date));
  180. $media_library_category = $sql_result[category];
  181. // $sql_query2 = mysql_query("SELECT * FROM `" . $db_table_prefix . "core_structure` WHERE `table` = '$sql_result[category]'");
  182. //
  183. // while($sql_result2 = mysql_fetch_array($sql_query2)){
  184. // $media_library_category = $sql_result2[category_lan_ . $language];
  185. // }
  186. if ($last_media_library_category != $media_library_category) {
  187. if ($last_media_library_category <> '~!nothing!~') $main .= ' </DIV><BR>' . $lf;
  188. $main .= ' <DIV>' . $lf;
  189. if ($media_library_category == ''){
  190. $main .= "<H2>$lan[general]</H2>" . $lf;
  191. } ELSE {
  192. $main .= "<H2>$media_library_category</H2>" . $lf;
  193. }
  194. }
  195. $last_media_library_category = $media_library_category;
  196. $main .= "<small><a href='$default_url" . "index.php?page=$page&amp;id=$media_library_image_num'><span class='float_right'>$media_library_image_date</span>$media_library_image_title </A></small><br>";
  197. $media_library_image_description = truncate($media_library_image_description, 80);
  198. }
  199. if (isset($media_library_image_title) && $media_library_image_title <> '') {
  200. $main .= ' </DIV>' . $lf;
  201. } else {
  202. $main .= '<br>';
  203. $main .= '<br>';
  204. $main .= '<center>' . $lan[no_media] . '<center>';
  205. }
  206. $main .= '</DIV>' . $lf;
  207. }
  208. /*===========================================================================
  209. Display as thumbnails
  210. ===========================================================================*/
  211. IF ($action == 'thumbnails') {
  212. $main = read_file($default_url . $templates_dir . "media_thumbs.tpl");
  213. IF (!isset($id)){
  214. $curr_image = $media_library_num_images - $media_library_thumbs_per_page + 1;
  215. if ($curr_image <= 0) $curr_image = 1;
  216. } ELSE {
  217. $curr_image = $id;
  218. }
  219. $media_library_first_thumb = $curr_image;
  220. $media_library_last_thumb = $media_library_first_thumb + $media_library_thumbs_per_page -1 ;
  221. if ($media_library_last_thumb > $media_library_num_images) $media_library_last_thumb = $media_library_num_images;
  222. $media_library_page_prev = $curr_image - $media_library_thumbs_per_page;
  223. if ($media_library_page_prev <= 0)$media_library_page_prev = 1;
  224. $media_library_page_next = $curr_image + $media_library_thumbs_per_page;
  225. if ($media_library_page_next >= $media_library_num_images)$media_library_page_next = $media_library_num_images - $media_library_thumbs_per_page;
  226. if ($media_library_page_next <= 0)$media_library_page_next = 1;
  227. $media_library_index_nav = "$media_library_index_edit <A href='$default_url" . "index.php?page=$page&amp;action=thumbnails&amp;id=1'><img class='icon' title='First' src='$default_url".$templates_dir."images/icons/first.gif'></A> <A href='$default_url" . "index.php?page=$page&amp;action=thumbnails&amp;id=$media_library_page_prev'><img class='icon' title='Previous' src='$default_url".$templates_dir."images/icons/previous.gif'></A> <A href='$default_url" . "index.php?page=$page&amp;action=list'><img class='icon' title='List' src='$default_url".$templates_dir."images/icons/view_list.gif'></A> <A href='$default_url" . "index.php?page=$page&amp;action=thumbnails&amp;id=$media_library_page_next'><img class='icon' title='Next' src='$default_url".$templates_dir."images/icons/next.gif'></A> <A href='$default_url" . "index.php?page=$page&amp;action=thumbnails&amp;id=".($media_library_num_images - $media_library_thumbs_per_page + 1)."'><img class='icon' title='Last' src='$default_url".$templates_dir."images/icons/last.gif'></A>";
  228. for($count=$curr_image;$count<$curr_image+$media_library_thumbs_per_page;$count++) {
  229. $id = $count-1;
  230. $sql_query = mysql_query("SELECT * FROM `" . $db_table_prefix . 'cat_' . $page . "` WHERE `id` = '$file_id_array[$id]'");
  231. while($sql_result = mysql_fetch_array($sql_query)) {
  232. $media_library_image_title = $sql_result[title_lan_.$language];
  233. $media_library_image_description = $sql_result[description_lan_.$language];
  234. $media_library_image_num = $sql_result[id];
  235. $media_library_image_name = $sql_result[image];
  236. //check if image name exists
  237. if ($media_library_image_name == ''){
  238. $media_library_image_name = 'image_unavailable.jpg';
  239. }
  240. if (stristr($media_library_image_name,".mpg")) $media_library_image_name = 'mpeg.jpg';
  241. if (stristr($media_library_image_name,".mov")) $media_library_image_name = 'quicktime.jpg';
  242. if (stristr($media_library_image_name,".zip")) $media_library_image_name = 'zip_file.jpg';
  243. if (stristr($media_library_image_name,".pdf")) $media_library_image_name = 'pdf_file.jpg';
  244. $media_library_thumbs .= '<DIV class="media_thumb">' . $lf;
  245. $media_library_thumbs .= " <center><a href='$default_url" . "index.php?page=$page&amp;id=$media_library_image_num'><img src='" . $default_url . $media_dir . "thumbnail.php?height=" . $media_library_thumb_height ."&amp;width=" . $media_library_thumb_width . "&amp;filename=$media_library_image_name' border=0></A></center><BR />" . $lf;
  246. $media_library_thumbs .= " <small><center><span>$media_library_image_title</span></center></small>" . $lf;
  247. $media_library_thumbs .= "</DIV>\r\n" . $lf;
  248. //ROW CONTROL!!???
  249. // if ($count == ($media_library_thumbs_per_page / $media_library_thumb_rows_per_page)) {
  250. if ((($count + 1) % $media_library_thumb_rows_per_page) == 1) {
  251. // $media_library_thumbs .= "</br>";
  252. }
  253. }
  254. }
  255. if (!isset($media_library_image_title) || $media_library_image_title == '') {
  256. $media_library_thumbs .= '<br>';
  257. $media_library_thumbs .= '<br>';
  258. $media_library_thumbs .= '<center>' . $lan[no_media] . '<center>';
  259. }
  260. }
  261. ?>