Profile
MAJ is an Open Source, PHP-based content management system (CMS) that can be deployed as a blog, bulletin or message board, Internet forum, and wiki. It is extensible via PHP panels and is HTML5 and CSS3 ready.
Git
This blob has been accessed 8 times via Git panel.

  1. <?php
  2.  
  3. header('Content-Type: text/html; charset=UTF-8');
  4. header('Cache-Control: private');
  5.  
  6. ini_set("session.use_trans_sid","0");
  7. ini_set("mbstring.language","Neutral");
  8. ini_set("mbstring.internal_encoding","UTF-8");
  9. ini_set("mbstring.encoding_translation","On");
  10. ini_set("mbstring.http_input","auto");
  11. ini_set("mbstring.http_output","UTF-8");
  12. ini_set("mbstring.detect_order","auto");
  13. ini_set("mbstring.substitute_character","none");
  14. ini_set("default_charset","UTF-8");
  15.  
  16. error_reporting(E_ERROR);
  17.  
  18.  
  19. $maj_data_directory = "data";
  20. $maj_image_directory = "images";
  21.  
  22. $maj_mailer = "MAJ/2.0 (PHP/" . phpversion() . ")";
  23.  
  24. $maj_default_title = file_get_contents("$maj_data_directory/title.txt");
  25. $maj_admin_username = file_get_contents("$maj_data_directory/username.txt");
  26.  
  27. if (isset($_SESSION['logged_in'])) {
  28.         $maj_logged_in_username = $_SESSION['logged_in'];
  29. }
  30.  
  31. if (isset($maj_logged_in_username) and ($_SESSION['user_agent'] != $_SERVER['HTTP_USER_AGENT'])) {
  32.         header("Location: login.php");
  33. }
  34.  
  35.  
  36.         function stripslashes_array($data) {
  37.          
  38.                 if (is_array($data)) {
  39.              
  40.                         foreach ($data as $key => $value) {
  41.                                 $data[$key] = stripslashes_array($value);
  42.                         }
  43.                         return $data;
  44.                 }
  45.                 else {
  46.                         return stripslashes($data);
  47.                 }
  48.         }
  49.         $_REQUEST = stripslashes_array($_REQUEST);
  50. }
  51.  
  52. if (isset($_REQUEST['entry']) and !empty($_REQUEST['entry'])) {
  53.         $maj_req_entry = trim($_REQUEST['entry']);
  54. }
  55.  
  56. if (isset($_REQUEST['show']) and !empty($_REQUEST['show'])) {
  57.         $maj_req_show = trim($_REQUEST['show']);
  58. }
  59.  
  60. if (isset($_REQUEST['find']) and !empty($_REQUEST['find'])) {
  61.         $maj_req_find = trim($_REQUEST['find']);
  62.         $maj_req_find = str_replace(" ","-",$maj_req_find);
  63.         $maj_req_find = mb_strtolower($maj_req_find);
  64.         $maj_req_find = strip_tags($maj_req_find);
  65. }
  66.  
  67. if (isset($_REQUEST['category']) and !empty($_REQUEST['category'])) {
  68.         $maj_req_category = trim($_REQUEST['category']);
  69.         $maj_req_category = str_replace(" ","-",$maj_req_category);
  70.         $maj_req_category = mb_strtolower($maj_req_category);
  71.         $maj_req_category = strip_tags($maj_req_category);
  72. }
  73.  
  74. if (isset($_REQUEST['archive']) and !empty($_REQUEST['archive'])) {
  75.         $maj_req_archive = trim($_REQUEST['archive']);
  76. }
  77.  
  78. if (isset($_REQUEST['author']) and !empty($_REQUEST['author'])) {
  79.         $maj_req_author = trim($_REQUEST['author']);
  80.         $maj_req_author = str_replace(" ","-",$maj_req_author);
  81.         $maj_req_author = mb_strtolower($maj_req_author);
  82.         $maj_req_author = strip_tags($maj_req_author);
  83. }
  84.  
  85. if (file_exists("$maj_data_directory/offset.txt")) {
  86.         $maj_offset = file_get_contents("$maj_data_directory/offset.txt");
  87. }
  88. else {
  89.         $maj_offset = 0;
  90. }
  91.  
  92. if (file_exists("$maj_data_directory/increase.txt")) {
  93.         $maj_increase = file_get_contents("$maj_data_directory/increase.txt");
  94. }
  95. else {
  96.         $maj_increase = 5;
  97. }
  98.  
  99. $maj_wspace = "10";
  100.  
  101. if (file_exists("$maj_data_directory/bb.txt") and file_exists("$maj_data_directory/avatar.txt")) {
  102.         $maj_wpanel = "160";
  103.         $maj_wentry = "600";
  104.         $maj_ablock = "90";
  105. }
  106. else {
  107.         $maj_wpanel = "205";
  108.         $maj_wentry = "510";
  109.         $maj_ablock = "0";
  110. }
  111.  
  112. $maj_pimage = $maj_wpanel - $maj_wspace;
  113.  
  114. $maj_aimage = $maj_ablock - $maj_wspace;
  115.  
  116. $maj_eimage = $maj_wentry - $maj_wspace - $maj_ablock;
  117.  
  118. $maj_uquery = count($_GET);
  119.  
  120. if (file_exists("$maj_data_directory/panels-l.txt") or file_exists("$maj_data_directory/panels-r.txt")) {
  121.  
  122. //      $maj_wentry = $maj_wentry + $maj_space + $maj_wpanel;
  123.  
  124.         $maj_wtable = $maj_wspace + $maj_wpanel + $maj_wspace + $maj_wentry + $maj_wspace;
  125. }
  126. else {
  127.         $maj_wtable = $maj_wspace + $maj_wpanel + $maj_wspace + $maj_wentry + $maj_wspace + $maj_wpanel + $maj_wspace;
  128. }
  129.  
  130. $maj_default_blog_title = "My Activity Journal";
  131. $maj_default_username = "maj";
  132. $maj_default_password = "php";
  133. $maj_default_blog_profile = 'This cool site is powered by My Activity Journal (<a href="http://majcms.org/" target="_maj">MAJ</a>), a simple <a href="http://php.net/" target="_maj">PHP</a>-based, <a href="http://opensource.org/" target="_maj">Open Source</a> content management system (CMS) that can be deployed as a blog, bulletin board (Internet forum or message board), and wiki.';
  134. $maj_default_blog_author = "My Activity Journal";
  135.  
  136. if (!file_exists($maj_data_directory)) {
  137.         mkdir($maj_data_directory);
  138. }
  139.  
  140. if (!file_exists("$maj_data_directory/.htaccess")) {
  141.         $maj_htaccess = "Order deny,allow\nDeny from all";
  142.         $maj_fp_htaccess_txt = fopen("$maj_data_directory/.htaccess","w");
  143.         fwrite($maj_fp_htaccess_txt,$maj_htaccess);
  144.         fclose($maj_fp_htaccess_txt);
  145. }
  146.  
  147. if (!file_exists("$maj_data_directory/title.txt")) {
  148.         $maj_fp_default_title_txt = fopen("$maj_data_directory/title.txt","w");
  149.         fwrite($maj_fp_default_title_txt,$maj_default_blog_title);
  150.         fclose($maj_fp_default_title_txt);
  151. }
  152.  
  153. if (!file_exists("$maj_data_directory/username.txt")) {
  154.         $maj_fp_htaccess_txt = fopen("$maj_data_directory/username.txt","w");
  155.         fwrite($maj_fp_htaccess_txt,$maj_default_username);
  156.         fclose($maj_fp_htaccess_txt);
  157. }
  158.  
  159. if (!file_exists("$maj_data_directory/password.txt")) {
  160.         $maj_default_password = sha1($maj_default_password);
  161.         $maj_default_password = md5($maj_default_password);
  162.         $maj_default_password = crypt($maj_default_password,$maj_default_password);
  163.         $maj_fp_htaccess_txt = fopen("$maj_data_directory/password.txt","w");
  164.         fwrite($maj_fp_htaccess_txt,$maj_default_password);
  165.         fclose($maj_fp_htaccess_txt);
  166. }
  167.  
  168. if (!file_exists("$maj_data_directory/profile.php")) {
  169.         $maj_fp_default_profile_txt = fopen("$maj_data_directory/profile.php","w");
  170.         fwrite($maj_fp_default_profile_txt,$maj_default_blog_profile);
  171.         fclose($maj_fp_default_profile_txt);
  172. }
  173.  
  174. if (!file_exists("$maj_data_directory/author.txt")) {
  175.         $maj_fp_default_author_txt = fopen("$maj_data_directory/author.txt","w");
  176.         fwrite($maj_fp_default_author_txt,$maj_default_blog_author);
  177.         fclose($maj_fp_default_author_txt);
  178. }
  179.  
  180. function str_rand($length = 8,$seeds = 'abcdefghijklmnopqrstuvwxyz0123456789') {
  181.  
  182.         $str = '';
  183.         $count = mb_strlen($seeds);
  184.  
  185.         list($usec,$sec) = explode(' ',microtime());
  186.  
  187.         $seed = (float) $sec + ((float) $usec * 100000);
  188.  
  189.         mt_srand($seed);
  190.  
  191.         for ($i = 0; $length > $i; $i++) {
  192.                 $str .= $seeds{mt_rand(0,$count - 1)};
  193.         }
  194.         return $str;
  195. }
  196.  
  197. function rmdirr($dir) {
  198.      
  199.         if (!file_exists($dir)) {
  200.                 return false;
  201.         }
  202.      
  203.         if (is_file($dir)) {
  204.                 return unlink($dir);
  205.         }
  206.      
  207.         $recurse = dir($dir);
  208.      
  209.         while (false !== $entry = $recurse->read()) {
  210.          
  211.                 if ($entry == '.' || $entry == '..') {
  212.                         continue;
  213.                 }
  214.          
  215.                 rmdirr("$dir/$entry");
  216.         }
  217.      
  218.         $recurse->close();
  219.         return rmdir($dir);
  220. }
  221.  
  222. function return_bytes($val) {
  223.      
  224.         $val = trim($val);
  225.         $last = $val{mb_strlen($val) - 1};
  226.      
  227.         switch ($last) {
  228.                 case 'k':
  229.                 case 'K':
  230.                         return(int)$val * 1024;
  231.                         break;
  232.                 case 'm':
  233.                 case 'M':
  234.                         return(int)$val * 1048576;
  235.                         break;
  236.                 default:
  237.                         return $val;
  238.         }
  239. }
  240.  
  241. $server_upload_max_filesize = return_bytes(ini_get('upload_max_filesize'));
  242. $server_post_max_size = return_bytes(ini_get('post_max_size'));
  243. $server_memory_limit = return_bytes(ini_get('memory_limit'));
  244.  
  245. $max_file_size = $server_upload_max_filesize;
  246.  
  247. if ($server_upload_max_filesize > $server_post_max_size) {
  248.         $max_file_size = $server_post_max_size;
  249. }
  250.  
  251. if ($server_post_max_size > $server_memory_limit) {
  252.         $max_file_size = $server_memory_limit;
  253. }
  254.  
  255. function entry2date($entry) {
  256.  
  257.         $year = mb_substr($entry, 0, 4);
  258.         $month = mb_substr($entry, 4, 2);
  259.         $day = mb_substr($entry, 6, 2);
  260.         $hour = mb_substr($entry, 8, 2);
  261.         $min = mb_substr($entry, 10, 2);
  262.         $sec = mb_substr($entry, 12, 2);
  263.      
  264.         echo date("l, M j, Y, g:i A", mktime($hour, $min, $sec, $month, $day, $year));
  265. }
  266.  
  267. function reformat_html($data) {
  268.  
  269.         $store_0 = mb_split("<html>", $data);
  270.         $data = "";
  271.         $data .= $store_0[0];
  272.      
  273.         foreach ($store_0 as $item_0 => $ref_0) {
  274.          
  275.                 if (mb_eregi("</html>", $ref_0)) {
  276.              
  277.                         $store_1 = mb_split("</html>", $ref_0);
  278.                         $store_1[0] = mb_eregi_replace("\n", "", $store_1[0]);
  279.              
  280.                         foreach ($store_1 as $item_1 => $ref_1) {
  281.                  
  282.                                 if ($item_1 == 0) {
  283.                                         $ref_1 = "<!-- html -->$ref_1<!-- /html -->";
  284.                                 }
  285.                                 $data .= $ref_1;
  286.                         }
  287.                 }
  288.         }
  289.         return $data;
  290. }
  291.  
  292. function reformat_code($data) {
  293.  
  294.         global $maj_image_directory;
  295.  
  296.         $store_0 = mb_split("<code>", $data);
  297.         $data = "";
  298.         $data .= $store_0[0];
  299.      
  300.         foreach ($store_0 as $item_0 => $ref_0) {
  301.          
  302.                 if (mb_eregi("</code>", $ref_0)) {
  303.  
  304.                         $store_1 = mb_split("</code>", $ref_0);
  305.                         $store_1[0] = mb_eregi_replace("<img src=\"$maj_image_directory/smileys/crying.png\" border=\"0\">", ':((', $store_1[0]);
  306.                         $store_1[0] = mb_eregi_replace("<img src=\"$maj_image_directory/smileys/frown.png\" border=\"0\">", ':(', $store_1[0]);
  307.                         $store_1[0] = mb_eregi_replace("<img src=\"$maj_image_directory/smileys/indifferent.png\" border=\"0\">", ':|', $store_1[0]);
  308.                         $store_1[0] = mb_eregi_replace("<img src=\"$maj_image_directory/smileys/laughing.png\" border=\"0\">", ':D', $store_1[0]);
  309.                         $store_1[0] = mb_eregi_replace("<img src=\"$maj_image_directory/smileys/lick.png\" border=\"0\">", ':P', $store_1[0]);
  310.                         $store_1[0] = mb_eregi_replace("<img src=\"$maj_image_directory/smileys/ohno.png\" border=\"0\">", ':O', $store_1[0]);
  311.                         $store_1[0] = mb_eregi_replace("<img src=\"$maj_image_directory/smileys/smile.png\" border=\"0\">", ':)', $store_1[0]);
  312.                         $store_1[0] = mb_eregi_replace("<img src=\"$maj_image_directory/smileys/surprised.png\" border=\"0\">", '=)', $store_1[0]);
  313.                         $store_1[0] = mb_eregi_replace("<img src=\"$maj_image_directory/smileys/undecided.png\" border=\"0\">", ':\\', $store_1[0]);
  314.                         $store_1[0] = mb_eregi_replace("<img src=\"$maj_image_directory/smileys/wink.png\" border=\"0\">", ';)', $store_1[0]);
  315.                         $store_1[0] = htmlentities($store_1[0], ENT_QUOTES, 'UTF-8');
  316.              
  317.                         foreach ($store_1 as $item_1 => $ref_1) {
  318.  
  319.                                 if ($item_1 == 0) {
  320.                                         $ref_1 = "<code>$ref_1</code>";
  321.                                 }
  322.                                 $data .= $ref_1;
  323.                         }
  324.                 }
  325.         }
  326.         return $data;
  327. }
  328.  
  329. function format_title_put($data) {
  330.      
  331.         // 20100113 - auto-captialize title except articles, prepositions and conjunctions less tha 4 letters, and particle "to"
  332.         $data = ucwords($data);
  333.         $data = str_replace('<', '&lt;', $data);
  334.         $data = str_replace('>', '&gt;', $data);
  335.         $data = str_replace(' A ', ' a ', $data);
  336.         $data = str_replace(' An ', ' an ', $data);
  337.         $data = str_replace(' And ', ' and ', $data);
  338.         $data = str_replace(' As ', ' as ', $data);
  339.         $data = str_replace(' At ', ' at ', $data);
  340.         $data = str_replace(' But ', ' but ', $data);
  341.         $data = str_replace(' By ', ' by ', $data);
  342.         $data = str_replace(' For ', ' for ', $data);
  343.         $data = str_replace(' In ', ' in ', $data);
  344.         $data = str_replace(' Of ', ' of ', $data);
  345.         $data = str_replace(' On ', ' on ', $data);
  346.         $data = str_replace(' Or ', ' or ', $data);
  347.         $data = str_replace(' The ', ' the ', $data);
  348.         $data = str_replace(' To ', ' to ', $data);
  349.      
  350.         return $data;
  351. }
  352.  
  353. function format_body_put($data) {
  354.  
  355.         global $maj_image_directory;
  356.      
  357.         $data = ucfirst($data);
  358.         $data = str_replace("[html]", '<html>', $data);
  359.         $data = str_replace("[/html]", '</html>', $data);
  360.         $data = reformat_html($data);
  361.         $data = str_replace(':((', "<img src=\"$maj_image_directory/smileys/crying.png\" border=\"0\">", $data);
  362.         $data = str_replace(':(', "<img src=\"$maj_image_directory/smileys/frown.png\" border=\"0\">", $data);
  363.         $data = str_replace(':|', "<img src=\"$maj_image_directory/smileys/indifferent.png\" border=\"0\">", $data);
  364.         $data = str_replace(':D', "<img src=\"$maj_image_directory/smileys/laughing.png\" border=\"0\">", $data);
  365.         $data = str_replace(':P', "<img src=\"$maj_image_directory/smileys/lick.png\" border=\"0\">", $data);
  366.         $data = str_replace(':O', "<img src=\"$maj_image_directory/smileys/ohno.png\" border=\"0\">", $data);
  367.         $data = str_replace(':)', "<img src=\"$maj_image_directory/smileys/smile.png\" border=\"0\">", $data);
  368.         $data = str_replace('=)', "<img src=\"$maj_image_directory/smileys/surprised.png\" border=\"0\">", $data);
  369.         $data = str_replace(':\\', "<img src=\"$maj_image_directory/smileys/undecided.png\" border=\"0\">", $data);
  370.         $data = str_replace(';)', "<img src=\"$maj_image_directory/smileys/wink.png\" border=\"0\">", $data);
  371.         $data = str_replace('[code]', '<code>', $data);
  372.         $data = str_replace('[/code]', '</code>', $data);
  373.         $data = reformat_code($data);
  374.         $data = str_replace("\n", '<br />', $data);
  375.         $data = str_replace('[b]', '<b>', $data);
  376.         $data = str_replace('[/b]', '</b>', $data);
  377.         $data = str_replace('[i]', '<i>', $data);
  378.         $data = str_replace('[/i]', '</i>', $data);
  379.         $data = str_replace('[u]', '<u>', $data);
  380.         $data = str_replace('[/u]', '</u>', $data);
  381.         $data = str_replace('[strike]', '<strike>', $data);
  382.         $data = str_replace('[/strike]', '</strike>', $data);
  383.         $data = str_replace('[sup]', '<sup>', $data);
  384.         $data = str_replace('[/sup]', '</sup>', $data);
  385.         $data = str_replace('[sub]', '<sub>', $data);
  386.         $data = str_replace('[/sub]', '</sub>', $data);
  387.         $data = str_replace('[highlight]', '<highlight>', $data);
  388.         $data = str_replace('[/highlight]', '</highlight>', $data);
  389.         $data = str_replace('<highlight>', '<span style="background-color: #ffff00;">', $data);
  390.         $data = str_replace('</highlight>', '</span>', $data);
  391.         $data = preg_replace("/<([_\.0-9a-z-]+)@([0-9a-z][0-9a-z-]+)\.([_\.0-9a-z-]+)>/", '&lt;$1@$2.$3&gt;', $data);
  392.      
  393.         return $data;
  394. }
  395.  
  396. function maj_avatar_image($author_username,$max_img_width=80,$show_username=1,$show_rank=1) {
  397.  
  398.         global $maj_admin_username;
  399.         global $maj_data_directory;
  400.         global $maj_image_directory;
  401.  
  402.         if (($maj_admin_username == $author_username) and (file_exists("$maj_image_directory/avatar.jpg") or file_exists("$maj_image_directory/avatar.gif") or file_exists("$maj_image_directory/avatar.png"))) {
  403.  
  404.                 if (file_exists("$maj_image_directory/avatar.gif")) {
  405.  
  406.                         $avatar_gif_image_size = getimagesize("$maj_image_directory/avatar.gif");
  407.                         $avatar_gif_image_width = $avatar_gif_image_size[0];
  408.                         $avatar_gif_image_height = $avatar_gif_image_size[1];
  409.  
  410.                         if ($avatar_gif_image_width > $max_img_width) {  
  411.  
  412.                                 $sizefactor = (double) ($max_img_width / $avatar_gif_image_width) ;
  413.                                 $avatar_gif_image_width = (int) ($avatar_gif_image_width * $sizefactor);
  414.                                 $avatar_gif_image_height = (int) ($avatar_gif_image_height * $sizefactor);
  415.  
  416.                                 if (file_exists("$maj_data_directory/avatar-resize-gif.txt")) {
  417.  
  418.                                         $avatar_gif_image_resize = imagecreatetruecolor($avatar_gif_image_width,$avatar_gif_image_height);
  419.  
  420.                                         imagealphablending($avatar_gif_image_resize, false);
  421.                                         imagesavealpha($avatar_gif_image_resize, true);
  422.  
  423.                                         $avatar_gif_image_original = imagecreatefromgif("$maj_image_directory/avatar.gif");
  424.                                         $avatar_gif_transparent_index = imagecolortransparent($avatar_gif_image_original);
  425.  
  426.                                         if ($avatar_gif_transparent_index >= 0) {
  427.  
  428.                                                 $avatar_gif_transparent_color = imagecolorsforindex($avatar_gif_image_original, $avatar_gif_transparent_index);
  429.                                                 $avatar_gif_transparent_index = imagecolorallocate($avatar_gif_image_resize, $avatar_gif_transparent_color['red'], $avatar_gif_transparent_color['green'], $avatar_gif_transparent_color['blue']);
  430.  
  431.                                                 imagefill($avatar_gif_image_resize, 0, 0, $avatar_gif_transparent_index);
  432.                                                 imagecolortransparent($avatar_gif_image_resize, $avatar_gif_transparent_index);
  433.                                         }
  434.  
  435.                                         imagecopyresampled($avatar_gif_image_resize,$avatar_gif_image_original,0,0,0,0,$avatar_gif_image_width,$avatar_gif_image_height,$avatar_gif_image_size[0],$avatar_gif_image_size[1]);
  436.  
  437.                                         unlink("$maj_image_directory/avatar.gif");
  438.  
  439.                                         imagegif($avatar_gif_image_resize,"$maj_image_directory/avatar.gif",100);
  440.  
  441.                                         imagedestroy($avatar_gif_image_resize);
  442.                                         imagedestroy($avatar_gif_image_original);
  443.                                 }
  444.                         }
  445.                         echo "<a href=\"member.php?id=$author_username\"><img class=\"azoom\" src=\"$maj_image_directory/avatar.gif\" border=\"0\" width=\"$avatar_gif_image_width\" height=\"$avatar_gif_image_height\"></a><br>";
  446.                 }
  447.  
  448.                 if (file_exists("$maj_image_directory/avatar.jpg")) {
  449.  
  450.                         $avatar_jpg_image_size = getimagesize("$maj_image_directory/avatar.jpg");
  451.                         $avatar_jpg_image_width = $avatar_jpg_image_size[0];
  452.                         $avatar_jpg_image_height = $avatar_jpg_image_size[1];
  453.                        
  454.                         if ($avatar_jpg_image_width > $max_img_width) {  
  455.  
  456.                                 $sizefactor = (double) ($max_img_width / $avatar_jpg_image_width) ;
  457.                                 $avatar_jpg_image_width = (int) ($avatar_jpg_image_width * $sizefactor);
  458.                                 $avatar_jpg_image_height = (int) ($avatar_jpg_image_height * $sizefactor);
  459.  
  460.                                 if (file_exists("$maj_data_directory/avatar-resize-jpg.txt")) {
  461.  
  462.                                         $avatar_jpg_image_resize = imagecreatetruecolor($avatar_jpg_image_width,$avatar_jpg_image_height);
  463.                                         $avatar_jpg_image_original = imagecreatefromjpeg("$maj_image_directory/avatar.jpg");
  464.  
  465.                                         imagecopyresampled($avatar_jpg_image_resize,$avatar_jpg_image_original,0,0,0,0,$avatar_jpg_image_width,$avatar_jpg_image_height,$avatar_jpg_image_size[0],$avatar_jpg_image_size[1]);
  466.  
  467.                                         unlink("$maj_image_directory/avatar.jpg");
  468.  
  469.                                         imagejpeg($avatar_jpg_image_resize,"$maj_image_directory/avatar.jpg",100);
  470.  
  471.                                         imagedestroy($avatar_jpg_image_resize);
  472.                                         imagedestroy($avatar_jpg_image_original);
  473.                                 }
  474.                         }
  475.                         echo "<a href=\"member.php?id=$author_username\"><img class=\"azoom\" src=\"$maj_image_directory/avatar.jpg\" border=\"0\" width=\"$avatar_jpg_image_width\" height=\"$avatar_jpg_image_height\"></a><br>";
  476.                 }
  477.  
  478.                 if (file_exists("$maj_image_directory/avatar.png")) {
  479.  
  480.                         $avatar_png_image_size = getimagesize("$maj_image_directory/avatar.png");
  481.                         $avatar_png_image_width = $avatar_png_image_size[0];
  482.                         $avatar_png_image_height = $avatar_png_image_size[1];
  483.                        
  484.                         if ($avatar_png_image_width > $max_img_width) {  
  485.  
  486.                                 $sizefactor = (double) ($max_img_width / $avatar_png_image_width) ;
  487.                                 $avatar_png_image_width = (int) ($avatar_png_image_width * $sizefactor);
  488.                                 $avatar_png_image_height = (int) ($avatar_png_image_height * $sizefactor);
  489.  
  490.                                 if (file_exists("$maj_data_directory/avatar-resize-png.txt")) {
  491.  
  492.                                         $avatar_png_image_resize = imagecreatetruecolor($avatar_png_image_width,$avatar_png_image_height);
  493.  
  494.                                         imagealphablending($avatar_png_image_resize, false);
  495.                                         imagesavealpha($avatar_png_image_resize, true);
  496.  
  497.                                         $avatar_png_image_original = imagecreatefrompng("$maj_image_directory/avatar.png");
  498.  
  499.                                         imagecopyresampled($avatar_png_image_resize,$avatar_png_image_original,0,0,0,0,$avatar_png_image_width,$avatar_png_image_height,$avatar_png_image_size[0],$avatar_png_image_size[1]);
  500.  
  501.                                         unlink("$maj_image_directory/avatar.png");
  502.  
  503.                                         imagepng($avatar_png_image_resize,"$maj_image_directory/avatar.png",100);
  504.  
  505.                                         imagedestroy($avatar_png_image_resize);
  506.                                         imagedestroy($avatar_png_image_original);
  507.                                 }
  508.                         }
  509.                         echo "<a href=\"member.php?id=$author_username\"><img class=\"azoom\" src=\"$maj_image_directory/avatar.png\" border=\"0\" width=\"$avatar_png_image_width\" height=\"$avatar_png_image_height\"></a><br>";
  510.                 }
  511.         }
  512.         elseif (file_exists("$maj_image_directory/members/$author_username/avatar.jpg") or file_exists("$maj_image_directory/members/$author_username/avatar.gif") or file_exists("$maj_image_directory/members/$author_username/avatar.png")) {
  513.  
  514.                 if (file_exists("$maj_image_directory/members/$author_username/avatar.gif")) {
  515.  
  516.                         $avatar_gif_image_size = getimagesize("$maj_image_directory/members/$author_username/avatar.gif");
  517.                         $avatar_gif_image_width = $avatar_gif_image_size[0];
  518.                         $avatar_gif_image_height = $avatar_gif_image_size[1];
  519.  
  520.                         if ($avatar_gif_image_width > $max_img_width) {  
  521.  
  522.                                 $sizefactor = (double) ($max_img_width / $avatar_gif_image_width) ;
  523.                                 $avatar_gif_image_width = (int) ($avatar_gif_image_width * $sizefactor);
  524.                                 $avatar_gif_image_height = (int) ($avatar_gif_image_height * $sizefactor);
  525.  
  526.                                 if (file_exists("$maj_data_directory/avatar-resize-gif.txt")) {
  527.  
  528.                                         $avatar_gif_image_resize = imagecreatetruecolor($avatar_gif_image_width,$avatar_gif_image_height);
  529.  
  530.                                         imagealphablending($avatar_gif_image_resize, false);
  531.                                         imagesavealpha($avatar_gif_image_resize, true);
  532.  
  533.                                         $avatar_gif_image_original = imagecreatefromgif("$maj_image_directory/members/$author_username/avatar.gif");
  534.                                         $avatar_gif_transparent_index = imagecolortransparent($avatar_gif_image_original);
  535.  
  536.                                         if ($avatar_gif_transparent_index >= 0) {
  537.  
  538.                                                 $avatar_gif_transparent_color = imagecolorsforindex($avatar_gif_image_original, $avatar_gif_transparent_index);
  539.                                                 $avatar_gif_transparent_index = imagecolorallocate($avatar_gif_image_resize, $avatar_gif_transparent_color['red'], $avatar_gif_transparent_color['green'], $avatar_gif_transparent_color['blue']);
  540.  
  541.                                                 imagefill($avatar_gif_image_resize, 0, 0, $avatar_gif_transparent_index);
  542.                                                 imagecolortransparent($avatar_gif_image_resize, $avatar_gif_transparent_index);
  543.                                         }
  544.  
  545.                                         imagecopyresampled($avatar_gif_image_resize,$avatar_gif_image_original,0,0,0,0,$avatar_gif_image_width,$avatar_gif_image_height,$avatar_gif_image_size[0],$avatar_gif_image_size[1]);
  546.  
  547.                                         unlink("$maj_image_directory/members/$author_username/avatar.gif");
  548.  
  549.                                         imagegif($avatar_gif_image_resize,"$maj_image_directory/members/$author_username/avatar.gif",100);
  550.  
  551.                                         imagedestroy($avatar_gif_image_resize);
  552.                                         imagedestroy($avatar_gif_image_original);
  553.                                 }
  554.                         }
  555.                         echo "<a href=\"member.php?id=$author_username\"><img class=\"azoom\" src=\"$maj_image_directory/members/$author_username/avatar.gif\" border=\"0\" width=\"$avatar_gif_image_width\" height=\"$avatar_gif_image_height\"></a><br>";
  556.                 }
  557.  
  558.                 if (file_exists("$maj_image_directory/members/$author_username/avatar.jpg")) {
  559.  
  560.                         $avatar_jpg_image_size = getimagesize("$maj_image_directory/members/$author_username/avatar.jpg");
  561.                         $avatar_jpg_image_width = $avatar_jpg_image_size[0];
  562.                         $avatar_jpg_image_height = $avatar_jpg_image_size[1];
  563.                        
  564.                         if ($avatar_jpg_image_width > $max_img_width) {  
  565.  
  566.                                 $sizefactor = (double) ($max_img_width / $avatar_jpg_image_width) ;
  567.                                 $avatar_jpg_image_width = (int) ($avatar_jpg_image_width * $sizefactor);
  568.                                 $avatar_jpg_image_height = (int) ($avatar_jpg_image_height * $sizefactor);
  569.  
  570.                                 if (file_exists("$maj_data_directory/avatar-resize-jpg.txt")) {
  571.  
  572.                                         $avatar_jpg_image_resize = imagecreatetruecolor($avatar_jpg_image_width,$avatar_jpg_image_height);
  573.                                         $avatar_jpg_image_original = imagecreatefromjpeg("$maj_image_directory/members/$author_username/avatar.jpg");
  574.  
  575.                                         imagecopyresampled($avatar_jpg_image_resize,$avatar_jpg_image_original,0,0,0,0,$avatar_jpg_image_width,$avatar_jpg_image_height,$avatar_jpg_image_size[0],$avatar_jpg_image_size[1]);
  576.  
  577.                                         unlink("$maj_image_directory/members/$author_username/avatar.jpg");
  578.  
  579.                                         imagejpeg($avatar_jpg_image_resize,"$maj_image_directory/members/$author_username/avatar.jpg",100);
  580.  
  581.                                         imagedestroy($avatar_jpg_image_resize);
  582.                                         imagedestroy($avatar_jpg_image_original);
  583.                                 }
  584.                         }
  585.                         echo "<a href=\"member.php?id=$author_username\"><img class=\"azoom\" src=\"$maj_image_directory/members/$author_username/avatar.jpg\" border=\"0\" width=\"$avatar_jpg_image_width\" height=\"$avatar_jpg_image_height\"></a><br>";
  586.                 }
  587.  
  588.                 if (file_exists("$maj_image_directory/members/$author_username/avatar.png")) {
  589.  
  590.                         $avatar_png_image_size = getimagesize("$maj_image_directory/members/$author_username/avatar.png");
  591.                         $avatar_png_image_width = $avatar_png_image_size[0];
  592.                         $avatar_png_image_height = $avatar_png_image_size[1];
  593.                        
  594.                         if ($avatar_png_image_width > $max_img_width) {  
  595.                                 $sizefactor = (double) ($max_img_width / $avatar_png_image_width) ;
  596.                                 $avatar_png_image_width = (int) ($avatar_png_image_width * $sizefactor);
  597.                                 $avatar_png_image_height = (int) ($avatar_png_image_height * $sizefactor);
  598.  
  599.                                 if (file_exists("$maj_data_directory/avatar-resize-png.txt")) {
  600.  
  601.                                         $avatar_png_image_resize = imagecreatetruecolor($avatar_png_image_width,$avatar_png_image_height);
  602.  
  603.                                         imagealphablending($avatar_png_image_resize, false);
  604.                                         imagesavealpha($avatar_png_image_resize, true);
  605.  
  606.                                         $avatar_png_image_original = imagecreatefrompng("$maj_image_directory/members/$author_username/avatar.png");
  607.  
  608.                                         imagecopyresampled($avatar_png_image_resize,$avatar_png_image_original,0,0,0,0,$avatar_png_image_width,$avatar_png_image_height,$avatar_png_image_size[0],$avatar_png_image_size[1]);
  609.  
  610.                                         unlink("$maj_image_directory/members/$author_username/avatar.png");
  611.  
  612.                                         imagepng($avatar_png_image_resize,"$maj_image_directory/members/$author_username/avatar.png",100);
  613.  
  614.                                         imagedestroy($avatar_png_image_resize);
  615.                                         imagedestroy($avatar_png_image_original);
  616.                                 }
  617.                         }
  618.                         echo "<a href=\"member.php?id=$author_username\"><img class=\"azoom\" src=\"$maj_image_directory/members/$author_username/avatar.png\" border=\"0\" width=\"$avatar_png_image_width\" height=\"$avatar_png_image_height\"></a><br>";
  619.                 }
  620.         }
  621.        
  622.         if ($show_username != 0) {
  623.                 echo "<a href=\"member.php?id=$author_username\"><b>$author_username</b></a><br>";
  624.         }
  625.        
  626.         if ($show_rank != 0) {
  627.  
  628.                 if (($maj_admin_username == $author_username) and file_exists("$maj_data_directory/rank.txt")) {
  629.                         echo "administrator<br>";
  630.                 }
  631.                 elseif (file_exists("$maj_data_directory/members/active/$author_username/rank.txt") and file_exists("$maj_data_directory/rank.txt")) {
  632.                         $rank = file_get_contents("$maj_data_directory/members/active/$author_username/rank.txt");
  633.                         echo "$rank<br>";
  634.                 }
  635.                 elseif (!file_exists("$maj_data_directory/members/active/$author_username/rank.txt") and file_exists("$maj_data_directory/rank.txt")) {
  636.                         echo "member<br>";
  637.                 }
  638.         }
  639. }
  640.  
  641. function maj_download_file($file_name,$file_dir,$count_dir) {
  642.  
  643.         $file_size = filesize("$file_dir/$file_name");
  644.  
  645.         header("Cache-Control: ");
  646.         header("Pragma: ");
  647.         header("Content-Type: application/octet-stream");
  648.         header("Content-Disposition: attachment; filename=$file_name");
  649.         header("Content-Length: $file_size");
  650.  
  651.         $fp_file = fopen("$file_dir/$file_name","rb");
  652.  
  653.         while (!feof($fp_file)) {
  654.                 $file_buffer = fread($fp_file,4096);
  655.                 echo $file_buffer;
  656.                 $file_sent += strlen($file_buffer);
  657.                 flush();
  658.         }
  659.  
  660.         fclose($fp_file);
  661.  
  662.         if (($file_sent == $file_size) and isset($count_dir)) {
  663.  
  664.                 if (!file_exists($count_dir)) {
  665.                         mkdir($count_dir,0700,true);
  666.                 }
  667.  
  668.                 if (file_exists("$count_dir/{$file_name}.txt")) {
  669.                         $file_downloads = file_get_contents("$count_dir/{$file_name}.txt");
  670.                 }
  671.                 else {
  672.                         $file_downloads = "0";
  673.                 }
  674.  
  675.                 $file_downloads = $file_downloads + 1;
  676.  
  677.                 $fp_downloads = fopen("$count_dir/{$file_name}.txt","w");
  678.                 fwrite($fp_downloads,$file_downloads);
  679.                 fclose($fp_downloads);
  680.         }
  681. }
  682.  
  683. function maj_profile() {
  684.  
  685.         global $maj_data_directory;
  686.         global $maj_image_directory;
  687.         global $maj_logged_in_username;
  688.         global $maj_admin_username;
  689.         global $maj_pimage;
  690.        
  691.         if (!file_exists("$maj_data_directory/xprofile.txt") or ($maj_logged_in_username == $maj_admin_username)) {
  692.        
  693.                 echo "\r\n<div class=\"panel_wrapper\">\r\n\r\n\t<div class=\"panel_title\">Profile</div>\r\n\r\n\t<div class=\"panel_body\">\r\n\t\t";
  694.        
  695.                 if (file_exists("$maj_image_directory/profile.gif")) {
  696.                         $img = "$maj_image_directory/profile.gif";
  697.                 }
  698.                
  699.                 if (file_exists("$maj_image_directory/profile.jpg")) {
  700.                         $img = "$maj_image_directory/profile.jpg";
  701.                 }
  702.  
  703.                 if (file_exists("$maj_image_directory/profile.png")) {
  704.                         $img = "$maj_image_directory/profile.png";
  705.                 }
  706.                
  707.                 if ($img) {
  708.  
  709.                         $size = getimagesize($img);
  710.                         $width = $size[0];
  711.                         $height = $size[1];
  712.        
  713.                         if ($width > $maj_pimage) {  
  714.        
  715.                                 $factor = (double) ($maj_pimage / $width) ;
  716.                                 $width = (int) ($width * $factor);
  717.                                 $height = (int) ($height * $factor);
  718.                
  719.                                 echo "<a href=\".\"><img src=\"$img\" border=\"0\" width=\"$width\" height=\"$height\"></a><br>";
  720.                         }
  721.                         else {
  722.                                 echo "<a href=\".\"><img src=\"$img\" border=\"0\" width=\"$width\" height=\"$height\" align=\"left\"></a>";
  723.                         }
  724.                 }
  725.                
  726.                 include("$maj_data_directory/profile.php");
  727.        
  728.                 echo "\r\n\t</div>\r\n</div>\r\n\r\n";
  729.         }
  730. }
  731.  
  732. function maj_navigation() {
  733.  
  734.         global $maj_data_directory;
  735.         global $maj_logged_in_username;
  736.         global $maj_admin_username;
  737.         global $maj_req_category;
  738.        
  739.         if (!file_exists("$maj_data_directory/xnavigation.txt") or ($maj_logged_in_username == $maj_admin_username)) {
  740.                
  741.                 echo "<div class=\"panel_wrapper\">\r\n\r\n\t<div class=\"panel_title\">Navigation</div>\r\n\r\n\t<div class=\"panel_body\">\r\n\t\t<a class=\"navlink\" href=\".\">Home</a><br>\r\n";
  742.        
  743.                 if (file_exists("$maj_data_directory/bb.txt") and file_exists("$maj_data_directory/members/active")) {
  744.                         echo "\t\t<a class=\"navlink\" href=\"member.php?id=all\">Members</a><br>\r\n";
  745.                 }
  746.        
  747.                 if (isset($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username)) {
  748.                         echo "\t\t<a class=\"navlink\" href=\"add.php\">Add Entry</a><br>\r\n";
  749.                         echo "\t\t<a class=\"navlink\" href=\"settings.php\">Settings</a><br>\r\n";
  750.                         echo "\t\t<a class=\"navlink\" href=\"panels.php\">Panels</a><br>\r\n";
  751.                         echo "\t\t<a class=\"navlink\" href=\"cat.php\">Categories</a><br>\r\n";
  752.                         echo "\t\t<a class=\"navlink\" href=\"colors.php\">Colors</a><br>\r\n";
  753.                         echo "\t\t<a class=\"navlink\" href=\"fonts.php\">Fonts</a><br>\r\n";
  754.                         echo "\t\t<a class=\"navlink\" href=\"login.php\">Logout</a>\r\n";
  755.                 }
  756.                 elseif (isset($maj_logged_in_username) and ($maj_logged_in_username != $maj_admin_username) and file_exists("$maj_data_directory/members/active/$maj_logged_in_username") and file_exists("$maj_data_directory/bb.txt")) {
  757.        
  758.                         if (file_exists("$maj_data_directory/members/active/$maj_logged_in_username/categories/$maj_req_category")) {
  759.                
  760.                                 if (!file_exists("$maj_data_directory/categories/$maj_req_category")) {
  761.                                         rmdirr("$maj_data_directory/members/active/$maj_logged_in_username/categories/$maj_req_category");
  762.                                 }
  763.                         }
  764.        
  765.                         if (!file_exists("$maj_data_directory/noadd.txt") and (file_exists("$maj_data_directory/members/active/$maj_logged_in_username/bb-rw.txt") or file_exists("$maj_data_directory/members/active/$maj_logged_in_username/categories/$maj_req_category"))) {
  766.                                 echo '<a class="navlink" href="add.php">Add Entry</a><br>';
  767.                         }
  768.        
  769.                         echo '<a class="navlink" href="options.php">Options</a><br>';
  770.                         echo '<a class="navlink" href="login.php">Logout</a>';
  771.                 }
  772.                 else {
  773.                         if (file_exists("$maj_data_directory/bb.txt") and file_exists("$maj_data_directory/reg.txt")) {
  774.                                 echo '<a class="navlink" href="reg.php">Register</a><br>';
  775.                         }
  776.        
  777.                         echo '<a class="navlink" href="login.php">Login</a>';
  778.                 }
  779.        
  780.                 echo "\t</div>\r\n</div>\r\n";
  781.         }      
  782. }
  783.  
  784. function maj_quick_links() {
  785.  
  786.         global $maj_data_directory;
  787.         global $maj_logged_in_username;
  788.         global $maj_admin_username;
  789.        
  790.         if (file_exists("$maj_data_directory/sticky")) {
  791.  
  792.                 if ($dh_sticky_data = opendir("$maj_data_directory/sticky")) {
  793.        
  794.                         while (($entry = readdir($dh_sticky_data)) !== false) {
  795.        
  796.                                 if (file_exists("$maj_data_directory/items/$entry/private.txt") and (!isset($maj_logged_in_username) or ($maj_logged_in_username != $maj_admin_username))) {
  797.                                         continue;
  798.                                 }
  799.        
  800.                                 if (file_exists("$maj_data_directory/items/$entry/member.txt") and (!isset($maj_logged_in_username))) {
  801.                                         continue;
  802.                                 }
  803.        
  804.                                 $private = "0";
  805.        
  806.                                 if (file_exists("$maj_data_directory/items/$entry/categories")) {
  807.                                
  808.                                         if ($dh_sticky_entry = opendir("$maj_data_directory/items/$entry/categories")) {
  809.                                
  810.                                                 while (($category = readdir($dh_sticky_entry)) !== false) {
  811.                                
  812.                                                         if ($category != "." && $category != "..") {
  813.                                
  814.                                                                 if (file_exists("$maj_data_directory/categories/$category/private.txt")) {
  815.                                                                         $private = $private + 1;
  816.                                                                 }
  817.                                                         }
  818.                                                 }
  819.                                                 closedir($dh_sticky_entry);
  820.                                         }
  821.                                 }
  822.        
  823.                                 if (($private > 0) and (!isset($maj_logged_in_username) or ($maj_logged_in_username != $maj_admin_username)) and !file_exists("$maj_data_directory/items/$entry/cat.txt")) {
  824.                                         continue;
  825.                                 }
  826.        
  827.                                 if ($entry != "." && $entry != "..") {
  828.                                         $entries[] = $entry;
  829.                                 }
  830.                         }
  831.                         closedir($dh_sticky_data);
  832.                 }
  833.        
  834.                 sort($entries);
  835.        
  836.                 if (count($entries) > 0) {
  837.        
  838.                         echo "<div class=\"panel_wrapper\">";
  839.                         echo "<div class=\"panel_title\">Quick Links</div>";
  840.                         echo "<div class=\"panel_body\">";
  841.        
  842.                         foreach ($entries as $entry) {
  843.                                 echo "<a class=\"navlink\" href=\"index.php?entry=$entry\">";
  844.                                 readfile("$maj_data_directory/items/$entry/title.txt");
  845.                                 echo "</a><br>";
  846.                         }
  847.        
  848.                         echo "</div>";
  849.                         echo "</div>";
  850.                 }
  851.         }
  852. }
  853.  
  854. function maj_panels($panel_array) {
  855.  
  856.         global $maj_data_directory;
  857.         global $maj_logged_in_username;
  858.         global $maj_admin_username;
  859.         global $maj_req_entry;
  860.         global $maj_wspace;
  861.  
  862.         if (count($panel_array) > 0) {
  863.  
  864.                 foreach ($panel_array as $panel) {
  865.                
  866.                         if (file_exists("$maj_data_directory/panels/$panel/link.txt") and ($maj_logged_in_username != $maj_admin_username)) {
  867.                        
  868.                                 if (file_get_contents("$maj_data_directory/panels/$panel/link.txt") != $maj_req_entry) {
  869.                                         continue;
  870.                                 }
  871.                                
  872.                                 if (file_get_contents("$maj_data_directory/panels/$panel/link.txt") == $maj_req_entry) {
  873.                                        
  874.                                         $today = date("YmdHis",time() + $offset);
  875.                
  876.                                         if ($maj_req_entry > $today) {
  877.                                                 continue;
  878.                                         }
  879.        
  880.                                         if (file_exists("$maj_data_directory/items/$maj_req_entry/private.txt")) {
  881.                                                 continue;
  882.                                         }
  883.        
  884.                                         $pvt_cat = "0";
  885.        
  886.                                         if (file_exists("$maj_data_directory/items/$maj_req_entry/categories")) {
  887.                                
  888.                                                 if ($dh_cat = opendir("$maj_data_directory/items/$maj_req_entry/categories")) {
  889.                                
  890.                                                         while (($cat = readdir($dh_cat)) !== false) {
  891.                                
  892.                                                                 if ($cat != "." && $cat != "..") {
  893.                                
  894.                                                                         if (file_exists("$maj_data_directory/categories/$cat/private.txt")) {
  895.                                                                                 $pvt_cat = $pvt_cat + 1;
  896.                                                                         }
  897.                                                                 }
  898.                                                         }
  899.                                                         closedir($dh_cat);
  900.                                                 }
  901.                                         }
  902.        
  903.                                         if (($pvt_cat > 0) and !file_exists("$maj_data_directory/items/$maj_req_entry/cat.txt")) {
  904.                                                 continue;
  905.                                         }
  906.        
  907.                                         if ((file_exists("$maj_data_directory/items/$maj_req_entry/members") and !isset($maj_logged_in_username)) or (isset($maj_logged_in_username) and !file_exists("$maj_data_directory/items/$maj_req_entry/members/$maj_logged_in_username"))) {
  908.                                                 continue;
  909.                                         }
  910.        
  911.                                         if (file_exists("$maj_data_directory/items/$maj_req_entry/member.txt") and (!isset($maj_logged_in_username))) {
  912.                                                 continue;
  913.                                         }
  914.                                 }                              
  915.                         }
  916.  
  917.                         if (!file_exists("$maj_data_directory/panels/$panel/free.txt")) {
  918.  
  919.                                 if (file_exists("$maj_data_directory/panels/$panel/border.txt")) {
  920.                                         $panel_border = file_get_contents("$maj_data_directory/panels/$panel/border.txt");
  921.                                 }
  922.                                 else {
  923.                                         if (isset($panel_border)) {
  924.                                                 unset($panel_border);
  925.                                         }
  926.                                 }
  927.  
  928.                                 if (file_exists("$maj_data_directory/panels/$panel/bgcolor-t.txt")) {
  929.                                         $panel_bgcolor_t = file_get_contents("$maj_data_directory/panels/$panel/bgcolor-t.txt");
  930.                                 }
  931.                                 else {
  932.                                         if (isset($panel_bgcolor_t)) {
  933.                                                 unset($panel_bgcolor_t);
  934.                                         }
  935.                                 }
  936.  
  937.                                 if (file_exists("$maj_data_directory/panels/$panel/bgcolor-c.txt")) {
  938.                                         $panel_bgcolor_c = file_get_contents("$maj_data_directory/panels/$panel/bgcolor-c.txt");
  939.                                 }
  940.                                 else {
  941.                                         if (isset($panel_bgcolor_c)) {
  942.                                                 unset($panel_bgcolor_c);
  943.                                         }
  944.                                 }
  945.  
  946.                                 if (file_exists("$maj_data_directory/panels/$panel/text-t.txt")) {
  947.                                         $panel_text_t = file_get_contents("$maj_data_directory/panels/$panel/text-t.txt");
  948.                                 }
  949.                                 else {
  950.                                         if (isset($panel_text_t)) {
  951.                                                 unset($panel_text_t);
  952.                                         }
  953.                                 }
  954.  
  955.                                 if (file_exists("$maj_data_directory/panels/$panel/text-c.txt")) {
  956.                                         $panel_text_c = file_get_contents("$maj_data_directory/panels/$panel/text-c.txt");
  957.                                 }
  958.                                 else {
  959.                                         if (isset($panel_text_c)) {
  960.                                                 unset($panel_text_c);
  961.                                         }
  962.                                 }
  963.  
  964.                                 echo "\r\n<div class=\"panel_wrapper\">\r\n\r\n\t<div class=\"panel_title\"";
  965.  
  966.                                 if (isset($panel_border) or isset($panel_bgcolor_t) or isset($panel_text_t)) {
  967.                                         echo ' style="';
  968.                                 }
  969.  
  970.                                 if (isset($panel_bgcolor_t)) {
  971.                                         echo "background-color: $panel_bgcolor_t;";
  972.                                 }
  973.  
  974.                                 if (isset($panel_text_t)) {
  975.                                         echo "color: $panel_text_t;";
  976.                                 }
  977.  
  978.                                 if (isset($panel_border)) {
  979.                                         echo "border-color: $panel_border;";
  980.                                 }
  981.  
  982.                                 if (isset($panel_border) or isset($panel_bgcolor_t) or isset($panel_text_t)) {
  983.                                         echo '"';
  984.                                 }
  985.  
  986.                                 echo ">";
  987.  
  988.                                 readfile("$maj_data_directory/panels/$panel/title.txt");
  989.  
  990.                                 if (isset($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username)) {
  991.                                         echo "<a href=\"panels.php#{$panel}\">";
  992.                                         echo '<img src="images/widget.edit.png" border="0" width="11" height="11" align="right"></a>';
  993.                                 }
  994.  
  995.                                 if (file_exists("$maj_data_directory/panels/$panel/private.txt")) {
  996.                                         echo '<img src="images/widget.private.png" border="0" width="11" height="11" align="right">';
  997.                                 }
  998.  
  999.                                 echo "</div>";
  1000.  
  1001.                                 echo "\r\n\r\n\t<div class=\"panel_body\"";
  1002.  
  1003.                                 if (isset($panel_border) or isset($panel_bgcolor_c) or isset($panel_text_c)) {
  1004.                                         echo ' style="';
  1005.                                 }
  1006.  
  1007.                                 if (isset($panel_bgcolor_c)) {
  1008.                                         echo "background-color: $panel_bgcolor_c;";
  1009.                                 }
  1010.  
  1011.                                 if (isset($panel_text_c)) {
  1012.                                         echo "color: $panel_text_c;";
  1013.                                 }
  1014.  
  1015.                                 if (isset($panel_border)) {
  1016.                                         echo "border-color: $panel_border;";
  1017.                                 }
  1018.  
  1019.                                 if (isset($panel_border) or isset($panel_bgcolor_c) or isset($panel_text_c)) {
  1020.                                         echo '"';
  1021.                                 }
  1022.  
  1023.                                 echo ">\r\n\t\t";
  1024.                         }
  1025.  
  1026.                         if (file_exists("$maj_data_directory/panels/$panel/free.txt")) {
  1027.                                 echo '<div class=panel_free>';
  1028.                         }
  1029.  
  1030.                         include("$maj_data_directory/panels/$panel/panel.php");
  1031.  
  1032.                         echo "\r\n\t</div>\r\n</div>\r\n";
  1033.  
  1034.                         if (file_exists("$maj_data_directory/panels/$panel/free.txt") and !file_exists("$maj_data_directory/panels/$panel/nomargin.txt")) {
  1035.                                 echo "<div style=\"height: {$maj_wspace}px;\"></div>";
  1036.                         }
  1037.                 }
  1038.         }
  1039. }
  1040.  
  1041. function maj_pending_comments() {
  1042.  
  1043.         global $maj_logged_in_username;
  1044.         global $maj_admin_username;
  1045.         global $maj_data_directory;
  1046.         global $maj_count_latest;
  1047.         global $maj_font_Spx;
  1048.        
  1049.         if (isset($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username)) {
  1050.        
  1051.                 if ($dh_pending_comments = opendir("$maj_data_directory/comments/pending")) {
  1052.        
  1053.                         while (($entry = readdir($dh_pending_comments)) !== false) {
  1054.                
  1055.                                 if ($entry != "." && $entry != "..") {
  1056.                                         $entries[] = $entry;
  1057.                                 }
  1058.                         }
  1059.                        
  1060.                         closedir($dh_pending_comments);
  1061.                 }
  1062.  
  1063.                 rsort($entries);
  1064.  
  1065.                 if (($maj_count_latest > 0) and (count($entries) > 0)) {
  1066.  
  1067.                         echo "<div class=\"panel_wrapper\">";
  1068.                         echo "<div class=\"panel_title\">Pending Comments</div>";
  1069.                         echo "<div class=\"panel_body\">";
  1070.  
  1071.                         foreach ($entries as $entry) {
  1072.        
  1073.                                 echo "<a href=\"index.php?entry=$entry&show=comments#pending\">";
  1074.                                 readfile("$maj_data_directory/items/$entry/title.txt");
  1075.                                 echo "</a><br><font style=\"font-size: $maj_font_Spx; color: #999999;\">";
  1076.        
  1077.                                 $count = file_get_contents("$maj_data_directory/comments/pending/$entry/count.txt");
  1078.        
  1079.                                 if ($count == 1) {
  1080.                                         echo " ($count comment) ";
  1081.                                 }
  1082.                                 elseif ($count > 1) {
  1083.                                         echo " ($count comments) ";
  1084.                                 }
  1085.                                 else {
  1086.                                         echo "";
  1087.                                 }
  1088.                                 echo "</font><br>";
  1089.                         }
  1090.                 }
  1091.                 echo "</div>";
  1092.                 echo "</div>";
  1093.         }
  1094. }
  1095.  
  1096. function maj_unread_comments() {
  1097.  
  1098.         global $maj_data_directory;
  1099.         global $maj_logged_in_username;
  1100.         global $maj_admin_username;
  1101.        
  1102.         if (!file_exists("$maj_data_directory/xucomment.txt") and isset($maj_logged_in_username)) {
  1103.        
  1104.                 if ($maj_logged_in_username == $maj_admin_username) {
  1105.        
  1106.                         if (file_exists("$maj_data_directory/comments/unread") and (count(glob("$maj_data_directory/comments/unread/*")) > 0)) {
  1107.                                
  1108.                                 if ($dh_unread_comments = opendir("$maj_data_directory/comments/unread")) {
  1109.                                
  1110.                                         while (($comment = readdir($dh_unread_comments)) !== false) {
  1111.                                
  1112.                                                 if ($comment != "." && $comment != "..") {
  1113.        
  1114.                                                         if (!file_exists("$maj_data_directory/items/$comment")) {
  1115.                                                                 rmdirr("$maj_data_directory/comments/unread/$comment");
  1116.                                                         }
  1117.                                                         else {
  1118.                                                                 $comments[] = $comment;
  1119.                                                         }
  1120.                                                 }
  1121.                                         }
  1122.                                         closedir($dh_unread_comments);
  1123.                                 }
  1124.                         }
  1125.                 }
  1126.                 else {
  1127.                         if (file_exists("$maj_data_directory/members/active/$maj_logged_in_username")) {
  1128.        
  1129.                                 if (file_exists("$maj_data_directory/members/active/$maj_logged_in_username/comments/unread") and (count(glob("$maj_data_directory/members/active/$maj_logged_in_username/comments/unread/*")) > 0)) {
  1130.                                
  1131.                                         if ($dh_unread_comments = opendir("$maj_data_directory/members/active/$maj_logged_in_username/comments/unread")) {
  1132.                                
  1133.                                                 while (($comment = readdir($dh_unread_comments)) !== false) {
  1134.                                
  1135.                                                         if ($comment != "." && $comment != "..") {
  1136.        
  1137.                                                                 if (!file_exists("$maj_data_directory/items/$comment")) {
  1138.                                                                         rmdirr("$maj_data_directory/members/active/$maj_logged_in_username/comments/unread/$comment");
  1139.                                                                 }
  1140.                                                                 else {
  1141.                                                                         $comments[] = $comment;
  1142.                                                                 }
  1143.                                                         }
  1144.                                                 }
  1145.                                         closedir($dh_unread_comments);
  1146.                                         }
  1147.                                 }
  1148.                         }
  1149.                 }
  1150.        
  1151.                 sort($comments);
  1152.  
  1153.                 if (count($comments) > 0) {
  1154.        
  1155.                         echo "<div class=\"panel_wrapper\">";
  1156.                         echo "<div class=\"panel_title\">";
  1157.                         echo "<a href=\"del.php?target=unread\"><img src=\"images/widget.del.png\" border=\"0\" width=\"11\" height=\"11\" align=\"right\"></a>";
  1158.                         echo "Unread Comments";
  1159.                         echo "</div>";
  1160.                         echo "<div class=\"panel_body\">";
  1161.                         echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">";
  1162.        
  1163.                         foreach ($comments as $comment) {
  1164.                        
  1165.                                 $title = file_get_contents("$maj_data_directory/items/$comment/title.txt");
  1166.        
  1167.                                 echo "<tr><td><a class=\"navlink\" href=\"index.php?entry=$comment&show=comments\">$title</a></td></tr>";
  1168.                         }
  1169.        
  1170.                         echo "</table>";
  1171.                         echo "</div>";
  1172.                         echo "</div>";
  1173.                 }
  1174.         }      
  1175. }
  1176.  
  1177. function maj_pending_members() {
  1178.  
  1179.         global $maj_logged_in_username;
  1180.         global $maj_admin_username;
  1181.         global $maj_data_directory;
  1182.        
  1183.         if (isset($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username) and file_exists("$maj_data_directory/members/confirmed") and !file_exists("$maj_data_directory/xapp.txt") and file_exists("$maj_data_directory/bb.txt") and file_exists("$maj_data_directory/reg.txt")) {
  1184.        
  1185.                 if ($dh_members = opendir("$maj_data_directory/members/confirmed")) {
  1186.        
  1187.                         while (($member = readdir($dh_members)) !== false) {
  1188.        
  1189.                                 if ($member != "." && $member != "..") {
  1190.                                         $members[] = $member;
  1191.                                 }
  1192.                         }
  1193.                         closedir($dh_members);
  1194.                 }
  1195.  
  1196.                 sort($members);
  1197.  
  1198.                 $count = count($members);
  1199.        
  1200.                 if ($count > 0) {
  1201.        
  1202.                         echo "<div class=\"panel_wrapper\">";
  1203.                         echo "<div class=\"panel_title\">";
  1204.                         echo "Pending Member";
  1205.                        
  1206.                         if ($count > 1) {
  1207.                                 echo "s";
  1208.                         }
  1209.        
  1210.                         echo "</div>";
  1211.                         echo "<div class=\"panel_body\">";
  1212.                         echo "Please approve or deny $count pending membership request";
  1213.        
  1214.                         if ($count > 1) {
  1215.                                 echo "s";
  1216.                         }
  1217.        
  1218.                         echo " below.";
  1219.                         echo "</div>";
  1220.                         echo "</div>";
  1221.  
  1222.                         foreach ($members as $member) {
  1223.        
  1224.                                 echo "<div class=\"panel_wrapper\">";
  1225.                                 echo "<div class=\"panel_title\">";
  1226.                                 echo "$member";
  1227.  
  1228.                                 echo "<a href=\"reg.php?username=$member&key=";
  1229.                                 readfile("$maj_data_directory/members/confirmed/$member/key.txt");
  1230.                                 echo "&action=deny\"><img src=\"images/widget.del.png\" border=\"0\" width=\"11\" height=\"11\" align=\"right\" alt=\"deny\"></a>";
  1231.  
  1232.                                 echo "<a href=\"reg.php?username=$member&key=";
  1233.                                 readfile("$maj_data_directory/members/confirmed/$member/key.txt");
  1234.                                 echo "&action=approve\"><img src=\"images/widget.cat.png\" border=\"0\" width=\"11\" height=\"11\" align=\"right\" alt=\"approve\"></a>";
  1235.  
  1236.                                 echo "</div>";
  1237.                                 echo "<div class=\"panel_body\">";
  1238.        
  1239.                                 if (file_exists("$maj_data_directory/members/confirmed/$member/url.txt")) {
  1240.                                         echo "<a href=\"";
  1241.                                         readfile("$maj_data_directory/members/confirmed/$member/url.txt");
  1242.                                         echo "\" target=\"_pending\">";
  1243.                                 }
  1244.        
  1245.                                 readfile("$maj_data_directory/members/confirmed/$member/firstname.txt");
  1246.                                 echo "&nbsp;";
  1247.                                 readfile("$maj_data_directory/members/confirmed/$member/lastname.txt");
  1248.        
  1249.                                 if (file_exists("$maj_data_directory/members/confirmed/$member/url.txt")) {
  1250.                                         echo "</a>";
  1251.                                 }
  1252.        
  1253.                                 echo "<br>";
  1254.        
  1255.                                 $email = file_get_contents("$maj_data_directory/members/confirmed/$member/email.txt");
  1256.        
  1257.                                 echo $email;
  1258.        
  1259.                                 if (file_exists("$maj_data_directory/members/confirmed/$member/timestamp.txt")) {
  1260.                                         $confirmed = file_get_contents("$maj_data_directory/members/confirmed/$member/timestamp.txt");
  1261.                                         $confirmed_year = mb_substr($confirmed,0,4);
  1262.                                         $confirmed_month = mb_substr($confirmed,4,2);
  1263.                                         $confirmed_day = mb_substr($confirmed,6,2);
  1264.                                         $confirmed_hh = mb_substr($confirmed,8,2);
  1265.                                         $confirmed_mm = mb_substr($confirmed,10,2);
  1266.                                         $email_confirmed = date("d M Y H:i",mktime($confirmed_hh,$confirmed_mm,0,$confirmed_month,$confirmed_day,$confirmed_year));
  1267.                                         echo "<br>$email_confirmed";
  1268.                                 }
  1269.                
  1270.                                 echo "</div>";
  1271.                                 echo "</div>";
  1272.                         }
  1273.                 }
  1274.         }
  1275. }
  1276.  
  1277. function maj_bb_stats() {
  1278.  
  1279.         global $maj_data_directory;
  1280.         global $maj_logged_in_username;
  1281.         global $maj_admin_username;
  1282.        
  1283.         if (file_exists("$maj_data_directory/bb.txt") and file_exists("$maj_data_directory/bb-stats.txt")) {
  1284.  
  1285.                 echo "<div class=\"panel_wrapper\">";
  1286.                 echo "<div class=\"panel_title\">Bulletin Board</div>";
  1287.                 echo "<div class=\"panel_body\">";
  1288.        
  1289.                 if (file_exists("$maj_data_directory/members/active") and file_exists("$maj_data_directory/bb.txt")) {
  1290.                
  1291.                         if ($dh_active_members = opendir("$maj_data_directory/members/active")) {
  1292.  
  1293.                                 while (($active_member = readdir($dh_active_members)) !== false) {
  1294.  
  1295.                                         if ($active_member != "." && $active_member != "..") {
  1296.                                                 $active_members[] = $active_member;
  1297.                                         }
  1298.                                 }
  1299.                                 closedir($dh_active_members);
  1300.                         }
  1301.        
  1302.                         sort($active_members);
  1303.        
  1304.                         $count_members = count($active_members);
  1305.                        
  1306.                         if ($count_members > 0) {
  1307.                                 echo "Registered Members: $count_members";
  1308.                         }
  1309.                 }
  1310.        
  1311.                 if (file_exists("$maj_data_directory/items")) {
  1312.                
  1313.                         if ($dh_entries = opendir("$maj_data_directory/items")) {
  1314.                
  1315.                                 while (($entry = readdir($dh_entries)) !== false) {
  1316.        
  1317.                                         if (file_exists("$maj_data_directory/items/$entry/private.txt") and (!isset($maj_logged_in_username) or ($maj_logged_in_username != $maj_admin_username))) {
  1318.                                                 continue;
  1319.                                         }
  1320.        
  1321.                                         $private = "0";
  1322.        
  1323.                                         if (file_exists("$maj_data_directory/items/$entry/categories")) {
  1324.                                
  1325.                                                 if ($dh_categories = opendir("$maj_data_directory/items/$entry/categories")) {
  1326.                                
  1327.                                                         while (($category = readdir($dh_categories)) !== false) {
  1328.                                
  1329.                                                                 if ($category != "." && $category != "..") {
  1330.                                
  1331.                                                                         if (file_exists("$maj_data_directory/categories/$category/private.txt")) {
  1332.                                                                                 $private = $private + 1;
  1333.                                                                         }
  1334.                                                                 }
  1335.                                                         }
  1336.                                                         closedir($dh_categories);
  1337.                                                 }
  1338.                                         }
  1339.        
  1340.                                         if (($private > 0) and (!isset($maj_logged_in_username) or ($maj_logged_in_username != $maj_admin_username)) and !file_exists("$maj_data_directory/items/$entry/cat.txt")) {
  1341.                                                 continue;
  1342.                                         }
  1343.                
  1344.                                         if ($entry != "." && $entry != "..") {
  1345.                                                 $entry = mb_substr("$entry",0,6);
  1346.                                                 $entries[] = $entry;
  1347.                                         }
  1348.                                 }
  1349.                                 closedir($dh_entries);
  1350.                         }
  1351.                        
  1352.                         rsort($entries);
  1353.  
  1354.                         $count_entries = count($entries);
  1355.  
  1356.                         echo "<br>Total Posts: $count_entries";
  1357.  
  1358.                         unset($entries);
  1359.                 }
  1360.        
  1361.                 if (file_exists("$maj_data_directory/bb-new.txt")) {
  1362.                         $bb_new = file_get_contents("$maj_data_directory/bb-new.txt");
  1363.                         echo "<br>Newest User: <a href=member.php?id=$bb_new>$bb_new</a>";
  1364.                 }
  1365.                 if (file_exists("$maj_data_directory/bb-last.txt")) {
  1366.                         $bb_last = file_get_contents("$maj_data_directory/bb-last.txt");
  1367.                         echo "<br>Latest Login: <a href=member.php?id=$bb_last>$bb_last</a>";
  1368.                 }
  1369.                 echo "</div></div>";
  1370.         }      
  1371. }
  1372.  
  1373. function maj_search() {
  1374.  
  1375.         global $maj_count_grand;
  1376.         global $maj_data_directory;
  1377.         global $maj_logged_in_username;
  1378.         global $maj_admin_username;
  1379.  
  1380.         if (($maj_count_grand > 0) and (!file_exists("$maj_data_directory/xsearch.txt") or ($maj_logged_in_username == $maj_admin_username))) {
  1381.  
  1382.                 echo "<div class=\"panel_wrapper\"><div class=\"panel_title\">Search</div>";
  1383.                 echo "<form enctype=\"multipart/form-data\" action=\"dig.php\" method=\"post\">";
  1384.                 echo "<div class=\"panel_body\">";
  1385.                 echo "<input type=\"search\" class=\"search\" name=\"search\" autocomplete=\"off\" maxlength=\"55\" required>";
  1386.                 echo "</form>";
  1387.                 echo "</div>";
  1388.                 echo "</div>";
  1389.         }
  1390. }
  1391.  
  1392. function maj_find() {
  1393.  
  1394.         global $maj_logged_in_username;
  1395.         global $maj_admin_username;
  1396.         global $maj_data_directory;
  1397.  
  1398.         if (isset($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username)) {
  1399.        
  1400.                 echo "<div class=\"panel_wrapper\">";
  1401.                 echo "<div class=\"panel_title\">Find Entries</div>";
  1402.                 echo "<div class=panel_body>";
  1403.                 echo "<a class=\"navlink\" href=\"index.php?find=private\">Private</a>";
  1404.  
  1405.                 if (file_exists("$maj_data_directory/bb.txt")) {
  1406.                         echo "<br><a class=\"navlink\" href=\"index.php?find=member\">Members-Only</a>";
  1407.                 }
  1408.  
  1409.                 echo "<br><a class=\"navlink\" href=\"index.php?find=unfiled\">Unfiled</a>";
  1410.                 echo "<br><a class=\"navlink\" href=\"index.php?find=passwd\">Password Protected</a>";
  1411.                 echo "<br><a class=\"navlink\" href=\"index.php?find=comments\">With Comments</a>";
  1412.                 echo "<br><a class=\"navlink\" href=\"index.php?find=filedrop\">With Attached Files</a>";
  1413.                 echo "<br><a class=\"navlink\" href=\"index.php?find=album\">With Photo Album</a>";
  1414.                 echo "</div>";
  1415.                 echo "</div>";
  1416.         }
  1417. }
  1418.  
  1419. function maj_categories() {
  1420.  
  1421.         global $maj_data_directory;
  1422.         global $maj_logged_in_username;
  1423.         global $maj_admin_username;
  1424.        
  1425.         if (file_exists("$maj_data_directory/categories")) {
  1426.                
  1427.                         if ($dh_categories = opendir("$maj_data_directory/categories")) {
  1428.                
  1429.                                 while (($cat = readdir($dh_categories)) !== false) {
  1430.        
  1431.                                         if (file_exists("$maj_data_directory/xcat.txt") and (!isset($maj_logged_in_username) or ($maj_logged_in_username != $maj_admin_username))) {
  1432.                                                 continue;
  1433.                                         }
  1434.  
  1435.                                         if (file_exists("$maj_data_directory/categories/$cat/private.txt") and (!isset($maj_logged_in_username) or ($maj_logged_in_username != $maj_admin_username))) {
  1436.                                                 continue;
  1437.                                         }
  1438.  
  1439.                                         if ($cat != "." && $cat != "..") {
  1440.                                                 $categories[] = $cat;
  1441.                                         }
  1442.                                 }
  1443.                                 closedir($dh_categories);
  1444.                         }
  1445.  
  1446.                         sort($categories);
  1447.  
  1448.                         if (count($categories) > 0) {
  1449.  
  1450.                                 echo "<div class=\"panel_wrapper\">";
  1451.                                 echo "<div class=\"panel_title\">Categories</div>";
  1452.                                 echo "<div class=\"panel_body\">";
  1453.  
  1454.                                 foreach ($categories as $category) {
  1455.  
  1456.                                         echo "<a class=\"navlink\" href=\"index.php?category=$category\">";
  1457.  
  1458.                                         if (file_exists("$maj_data_directory/categories/$category/title.txt")) {
  1459.                                                 $title = file_get_contents("$maj_data_directory/categories/$category/title.txt");
  1460.                                         }
  1461.                                         else {
  1462.                                                 $title = ucfirst(str_replace("_"," ",$category));
  1463.                                         }
  1464.  
  1465.                                         echo "$title</a><br>";
  1466.                         }
  1467.  
  1468.                         echo "</div>";
  1469.                         echo "</div>";
  1470.                 }
  1471.         }
  1472. }
  1473.  
  1474. function maj_statistics() {
  1475.  
  1476.         global $maj_logged_in_username;
  1477.         global $maj_admin_username;
  1478.         global $maj_count_latest;
  1479.         global $maj_data_directory;
  1480.        
  1481.         if (isset($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username)) {
  1482.        
  1483.                 echo "<div class=\"panel_wrapper\">";
  1484.                 echo "<div class=\"panel_title\">Statistics</div>";
  1485.                 echo "<div class=\"panel_body\">";
  1486.                 echo "Total Entries: $maj_count_latest";
  1487.  
  1488.                 if (file_exists("$maj_data_directory/hits.txt")) {
  1489.                         echo "<br>Site Hits: ";
  1490.                         readfile("$maj_data_directory/hits.txt");
  1491.                 }
  1492.                
  1493.                 if (file_exists("$maj_data_directory/google.txt")) {
  1494.                         echo "<br>Google Visits: ";
  1495.                         readfile("$maj_data_directory/google.txt");
  1496.                 }
  1497.                
  1498.                 if (file_exists("$maj_data_directory/rss-0.91.txt")) {
  1499.                         echo "<br>RSS 0.91 Hits: ";
  1500.                         readfile("$maj_data_directory/rss-0.91.txt");
  1501.                 }
  1502.                
  1503.                 if (file_exists("$maj_data_directory/rss-1.0.txt")) {
  1504.                         echo "<br>RSS 1.0 Hits: ";
  1505.                         readfile("$maj_data_directory/rss-1.0.txt");
  1506.                 }
  1507.                
  1508.                 if (file_exists("$maj_data_directory/rss-2.0.txt")) {
  1509.                         echo "<br>RSS 2.0 Hits: ";
  1510.                         readfile("$maj_data_directory/rss-2.0.txt");
  1511.                 }
  1512.                
  1513.                 if (file_exists("$maj_data_directory/sitemap.txt")) {
  1514.                         echo "<br>Sitemap Requests: ";
  1515.                         readfile("$maj_data_directory/sitemap.txt");
  1516.                 }
  1517.        
  1518.                 echo "</div>";
  1519.                 echo "</div>";
  1520.         }
  1521. }
  1522.  
  1523. function maj_recent() {
  1524.  
  1525.         global $maj_latest;
  1526.         global $maj_count_latest;
  1527.         global $maj_increase;
  1528.         global $maj_data_directory;
  1529.         global $maj_logged_in_username;
  1530.         global $maj_admin_username;
  1531.                
  1532.         if (($maj_count_latest > 0) and ($maj_count_latest > $maj_increase) and (!file_exists("$maj_data_directory/xrecent.txt") or ($maj_logged_in_username == $maj_admin_username))) {
  1533.        
  1534.                 echo "<div class=\"panel_wrapper\">";
  1535.                 echo "<div class=\"panel_title\">Recent Entries</div>";
  1536.                 echo "<div class=\"panel_body\">";
  1537.        
  1538.                 $increment = "0";
  1539.        
  1540.                 if ($maj_count_latest < 10) {
  1541.                         $maximum = $maj_count_latest;
  1542.                 }
  1543.                 else {
  1544.                         $maximum = "10";
  1545.                 }
  1546.        
  1547.                 while ($increment < $maximum) {
  1548.  
  1549.                         $title = file_get_contents("$maj_data_directory/items/$maj_latest[$increment]/title.txt");
  1550.                        
  1551.                         if (file_exists("$maj_data_directory/items/$maj_latest[$increment]/member.txt") and (!isset($maj_logged_in_username))) {
  1552.                                 echo "$title";
  1553.                         }
  1554.                         else {
  1555.                                 echo "<a class=\"navlink\" href=\"index.php?entry=$maj_latest[$increment]\">$title</a>";
  1556.                         }
  1557.        
  1558.                         echo "<br>";
  1559.                        
  1560.                         $increment = $increment + 1;
  1561.                 }
  1562.        
  1563.                 echo '</div></div>';
  1564.         }
  1565. }
  1566.  
  1567. function maj_albums() {
  1568.  
  1569.         global $maj_albums;
  1570.         global $maj_data_directory;
  1571.         global $maj_logged_in_username;
  1572.         global $maj_admin_username;
  1573.        
  1574.         if ((count($maj_albums) > 0) and (!file_exists("$maj_data_directory/xalbum.txt") or ($maj_logged_in_username == $maj_admin_username))) {
  1575.        
  1576.                 echo "<div class=\"panel_wrapper\">";
  1577.                 echo "<div class=\"panel_title\">Albums</div>";
  1578.                 echo "<div class=\"panel_body\">";
  1579.        
  1580.                 foreach ($maj_albums as $maj_album) {
  1581.                         echo "<a class=\"navlink\" href=\"index.php?entry=$maj_album&show=album\">";
  1582.                         readfile("$maj_data_directory/items/$maj_album/title.txt");
  1583.                         echo "</a><br>";
  1584.                 }
  1585.                
  1586.                 echo "</div>";
  1587.                 echo "</div>";
  1588.         }
  1589. }
  1590.  
  1591. function maj_random() {
  1592.  
  1593.         global $maj_data_directory;
  1594.         global $maj_logged_in_username;
  1595.         global $maj_admin_username;
  1596.         global $maj_random;
  1597.         global $maj_count_random;
  1598.        
  1599.         if (!file_exists("$maj_data_directory/xrand.txt") or ($maj_logged_in_username == $maj_admin_username)) {
  1600.                
  1601.                 shuffle($maj_random);
  1602.        
  1603.                 if (file_exists("$maj_data_directory/increase.txt")) {
  1604.                         $maximum = file_get_contents("$maj_data_directory/increase.txt");
  1605.                 }
  1606.                 else {
  1607.                         $maximum = 5;
  1608.                 }
  1609.                
  1610.                 if ($maj_count_random > $maximum) {
  1611.                
  1612.                         echo "<div class=\"panel_wrapper\">";
  1613.                         echo "<div class=\"panel_title\">Random Entries</div>";
  1614.                         echo "<div class=\"panel_body\">";
  1615.                
  1616.                         $increment = 0;
  1617.                
  1618.                         if ($maj_count_random <= $maximum * 2) {
  1619.                                 $show = $maj_count_random - 1;
  1620.                         }
  1621.                         else {
  1622.                                 $show = $maximum * 2 - 1;
  1623.                         }
  1624.                
  1625.                         while ($increment <= $show) {
  1626.                                 echo "<a class=\"navlink\" href=\"index.php?entry={$maj_random[$increment]}\">";
  1627.                                 readfile("$maj_data_directory/items/$maj_random[$increment]/title.txt");
  1628.                                 echo "</a><br>";
  1629.                
  1630.                                 $increment = $increment + 1;
  1631.                         }
  1632.  
  1633.                         if ($maj_count_random > $maximum) {
  1634.                                 echo "</div>";
  1635.                                 echo "</div>"; 
  1636.                         }
  1637.                 }
  1638.         }
  1639. }
  1640.  
  1641. function maj_archives() {
  1642.  
  1643.         global $maj_archives;
  1644.         global $maj_count_latest;
  1645.         global $maj_increase;
  1646.         global $maj_data_directory;
  1647.         global $maj_logged_in_username;
  1648.         global $maj_admin_username;
  1649.  
  1650.         $count = count($maj_archives);
  1651.  
  1652.         if (($count > 0) and ($maj_count_latest > $maj_increase) and ($maj_count_latest > 0) and (!file_exists("$maj_data_directory/xarc.txt") or ($maj_logged_in_username == $maj_admin_username))) {
  1653.        
  1654.                 $entries = implode(" ",$maj_archives);
  1655.        
  1656.                 $unique = array_unique($maj_archives);
  1657.        
  1658.                 echo "<div class=\"panel_wrapper\"><div class=\"panel_title\">Archives ($count)</div>";
  1659.                 echo "<div class=\"panel_body\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">";
  1660.        
  1661.                 foreach ($unique as $entry) {
  1662.        
  1663.                         $value = mb_substr($entry,0,6);
  1664.                         $year = mb_substr($entry,0,4);
  1665.                         $month = mb_substr($entry,4,2);
  1666.                         $month = date("F",mktime(0,0,0,$month));
  1667.                         $num = mb_substr_count($entries,$entry);
  1668.        
  1669.                         echo "<tr><td><a class=\"navlink\" href=\"index.php?archive=$value\"><nobr>$month $year</nobr></a></td><td align=right>$num</td></tr>";
  1670.                 }
  1671.                 echo "</table></div></div>";
  1672.         }
  1673. }
  1674.  
  1675. function maj_badges() {
  1676.  
  1677.         global $maj_count_latest;
  1678.         global $maj_data_directory;
  1679.                
  1680.         if ($maj_count_latest > 0) {
  1681.  
  1682.                 $php_version = phpversion();
  1683.        
  1684.                 echo "<div class=\"mbadge\"><nobr><a class=\"mblink\" target=\"_maj\" href=\"http://majcms.org/\"><span class=\"mbox1\">MAJ</span><span class=\"mbox2\">2.0</span></a></nobr></div>";
  1685.                 echo "<div class=\"mbadge\"><nobr><a class=\"mblink\" target=\"_maj\" href=\"http://php.net/\"><span class=\"mbox1\">PHP</span><span class=\"mbox2\">$php_version</span></a></nobr></div>";
  1686.  
  1687.                 if (file_exists("$maj_data_directory/b-rss-0.91.txt")) {
  1688.                         echo "<div class=\"mbadge\"><nobr><a class=\"mblink\" target=\"_maj\" href=\"rss.php?ver=0.91\"><span class=\"mbox1\">RSS</span><span class=\"mbox2\">0.91</span></a></nobr></div>";
  1689.                 }
  1690.  
  1691.                 if (file_exists("$maj_data_directory/b-rss-1.0.txt")) {        
  1692.                         echo "<div class=\"mbadge\"><nobr><a class=\"mblink\" target=\"_maj\" href=\"rss.php?ver=1.0\"><span class=\"mbox1\">RSS</span><span class=\"mbox2\">1.0</span></a></nobr></div>";
  1693.                 }
  1694.                
  1695.                 echo "<div class=\"mbadge\"><nobr><a class=\"mblink\" target=\"_maj\" href=\"rss.php?ver=2.0\"><span class=\"mbox1\">RSS</span><span class=\"mbox2\">2.0</span></a></nobr></div>";
  1696.                 echo "<div class=\"mbadge\"><nobr><a class=\"mblink\" target=\"_maj\" href=\"sitemap.php\"><span class=\"mbox1\">XML</span><span class=\"mbox2\">SITEMAP</span></a></nobr></div>";
  1697.         }
  1698. }
  1699.  
  1700. ?>
  1701.  
Credits
Sunday, Sep 18, 2005, 12:00 AM (Revision 11 - Thursday, Jul 14, 2011, 7:30 PM)
Open Source enables software developers to stand on the shoulders of giants instead of reinventing the wheel, so to speak. Kudos and many thanks to the folks who made their work freely available for reuse in MAJ.

read more
Bugs and Exploits
Friday, Aug 26, 2005, 12:00 AM (Revision 23 - Wednesday, May 29, 2013, 5:25 AM)
Although MAJ started as a family project, care has been taken to make it as "safe" as possible. With more people now working on MAJ, bugs and exploitable code may sometimes slip in. We invite you to poke around and see if you can find any. Generally, there are two things you can do when you find a MAJ or PHP-related bug or exploit:

1. Take advantage of it. But hey, what's so exciting about messing up someone's blog? Ho-hum, right?
2. Report it here so that we can work on a fix and make MAJ better.

read more
Search
Download
MAJ 2.0
75 files
33012 downloads
MAJ 1.0
26 files
13144 downloads
MAJ 0.14
45 files
35026 downloads