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 768 times via Git panel.

  1. <?php
  2.  
  3.   require("core.php");
  4.  
  5.   if (isset($_POST['title_input']) and isset($_POST['body_input'])) {
  6.       header("Location: edit.php?entry=$maj_req_entry");
  7.   }
  8.  
  9.   if (!isset($maj_req_entry)) {
  10.       exit();
  11.   }
  12.  
  13.   if (!file_exists("$maj_data_directory/items/$maj_req_entry")) {
  14.       exit();
  15.   }
  16.  
  17.   if (!isset($maj_logged_in_username)) {
  18.       exit();
  19.   }
  20.  
  21.   $do = 0;
  22.  
  23.   if (file_exists("$maj_data_directory/members/active/$maj_logged_in_username/bb-rw.txt") and file_exists("$maj_data_directory/wiki.txt") and (file_exists("$maj_data_directory/items/$maj_req_entry/edit.txt") or (file_get_contents("$maj_data_directory/items/$maj_req_entry/author.txt") == $maj_logged_in_username))) {
  24.       $do = 1;
  25.   }
  26.  
  27.   if (file_exists("$maj_data_directory/items/$maj_req_entry/lock.txt")) {
  28.       $do = 0;
  29.   }
  30.  
  31.   if ($maj_logged_in_username == $maj_admin_username) {
  32.       $do = 1;
  33.   }
  34.  
  35.   if ($do == 0) {
  36.       exit();
  37.   }
  38.  
  39.   $title_file = "$maj_data_directory/items/$maj_req_entry/title.txt";
  40.   $body_file = "$maj_data_directory/items/$maj_req_entry/body.txt";
  41.   $date_file = "$maj_data_directory/items/$maj_req_entry/date.txt";
  42.   $img_file = "$maj_data_directory/items/$maj_req_entry/image.txt";
  43.   $revisions_file = "$maj_data_directory/items/$maj_req_entry/revisions.txt";
  44.  
  45.   include("css.php");
  46.  
  47.   echo "\n<style>body { margin: {$maj_wspace}px; } .input, .click { width: 520px; }</style>\n";
  48.    
  49. ?>
  50.  
  51. <title>Edit</title>
  52.  
  53. <?php
  54.   if (isset($_POST['auth_member']) and !empty($_POST['auth_member']) and isset($_POST['auth_toggle']) and !empty($_POST['auth_toggle'])) {
  55.       if (($_POST['auth_toggle'] == "ack") and file_exists("$maj_data_directory/members/active/{$_POST['auth_member']}")) {
  56.           if (!file_exists("$maj_data_directory/items/$maj_req_entry/members")) {
  57.               mkdir("$maj_data_directory/items/$maj_req_entry/members");
  58.           }
  59.          
  60.           if (!file_exists("$maj_data_directory/items/$maj_req_entry/members/{$_POST['auth_member']}")) {
  61.               mkdir("$maj_data_directory/items/$maj_req_entry/members/{$_POST['auth_member']}");
  62.           }
  63.          
  64.           if (!file_exists("$maj_data_directory/items/$maj_req_entry/imembers")) {
  65.               mkdir("$maj_data_directory/items/$maj_req_entry/imembers");
  66.           }
  67.          
  68.           if (!file_exists("$maj_data_directory/items/$maj_req_entry/imembers/{$_POST['auth_member']}")) {
  69.               mkdir("$maj_data_directory/items/$maj_req_entry/imembers/{$_POST['auth_member']}");
  70.           }
  71.       }
  72.      
  73.       if (($_POST['auth_toggle'] == "nak") and file_exists("$maj_data_directory/members/active/{$_POST['auth_member']}")) {
  74.           if (file_exists("$maj_data_directory/items/$maj_req_entry/members/{$_POST['auth_member']}")) {
  75.               rmdirr("$maj_data_directory/items/$maj_req_entry/members/{$_POST['auth_member']}");
  76.           }
  77.          
  78.           if (file_exists("$maj_data_directory/items/$maj_req_entry/imembers/{$_POST['auth_member']}")) {
  79.               rmdirr("$maj_data_directory/items/$maj_req_entry/imembers/{$_POST['auth_member']}");
  80.           }
  81.       }
  82.   }
  83.  
  84.   if (isset($maj_req_category) and !empty($maj_req_category)) {
  85.       if (file_exists("$maj_data_directory/categories/$maj_req_category/members")) {
  86.           if ($dh_cat_members = opendir("$maj_data_directory/categories/$maj_req_category/members")) {
  87.               while (($get_cat_member = readdir($dh_cat_members)) !== false) {
  88.                   if ($get_cat_member != "." && $get_cat_member != "..") {
  89.                       if (file_exists("$maj_data_directory/members/active/$get_cat_member")) {
  90.                           $get_cat_members[] = $get_cat_member;
  91.                       } else {
  92.                           rmdirr("$maj_data_directory/categories/$maj_req_category/members/$get_cat_member");
  93.                       }
  94.                   }
  95.               }
  96.               closedir($dh_cat_members);
  97.           }
  98.       }
  99.      
  100.       if (($_POST['do'] == "unfile") and file_exists("$maj_data_directory/items/$maj_req_entry/categories/$maj_req_category")) {
  101.           rmdirr("$maj_data_directory/items/$maj_req_entry/categories/$maj_req_category");
  102.          
  103.           if (count(glob("$maj_data_directory/items/$maj_req_entry/categories/*")) < 1) {
  104.               rmdirr("$maj_data_directory/items/$maj_req_entry/categories");
  105.           }
  106.          
  107.           if (file_exists("$maj_data_directory/categories")) {
  108.               if ($dh_get_categories = opendir("$maj_data_directory/categories")) {
  109.                   while (($get_category = readdir($dh_get_categories)) !== false) {
  110.                       if ($get_category != "." && $get_category != "..") {
  111.                           $get_categories[] = $get_category;
  112.                       }
  113.                   }
  114.                   closedir($dh_get_categories);
  115.               }
  116.              
  117.               foreach ($get_cat_members as $get_cat_mem) {
  118.                   $count_mem = 0;
  119.                  
  120.                   foreach ($get_categories as $get_category) {
  121.                       if (file_exists("$maj_data_directory/categories/$get_category/members/$get_cat_mem") and ($maj_req_category != $get_category) and file_exists("$maj_data_directory/items/$maj_req_entry/categories/$get_category")) {
  122.                           $count_mem = $count_mem + 1;
  123.                       }
  124.                   }
  125.                  
  126.                   if (($count_mem < 1) and !file_exists("$maj_data_directory/items/$maj_req_entry/imembers/$get_cat_mem")) {
  127.                       rmdirr("$maj_data_directory/items/$maj_req_entry/members/$get_cat_mem");
  128.                   }
  129.               }
  130.           }
  131.       }
  132.      
  133.       if (($_POST['do'] == "file") and !file_exists("$maj_data_directory/items/$maj_req_entry/categories/$maj_req_category")) {
  134.           if (!file_exists("$maj_data_directory/items/$maj_req_entry/categories")) {
  135.               mkdir("$maj_data_directory/items/$maj_req_entry/categories");
  136.           }
  137.          
  138.           mkdir("$maj_data_directory/items/$maj_req_entry/categories/$maj_req_category");
  139.          
  140.           foreach ($get_cat_members as $get_cat_mem) {
  141.               if (!file_exists("$maj_data_directory/items/$maj_req_entry/members/$get_cat_mem")) {
  142.                   mkdir("$maj_data_directory/items/$maj_req_entry/members/$get_cat_mem");
  143.               }
  144.           }
  145.       }
  146.   }
  147.  
  148.   if (isset($_REQUEST['comment']) and !empty($_REQUEST['comment']) and isset($_POST['comment_txt']) and !empty($_POST['comment_txt']) and isset($_REQUEST['type']) and !empty($_REQUEST['type']) and (($_REQUEST['type'] == "live") or ($_REQUEST['type'] == "pending"))) {
  149.       $comment_txt = ucfirst($_POST['comment_txt']);
  150.       $comment_txt = str_replace("\n", '<br />', $comment_txt);
  151.       $comment_txt = str_replace(':((', '<img src="images/smileys/crying.png" border="0">', $comment_txt);
  152.       $comment_txt = str_replace(':(', '<img src="images/smileys/frown.png" border="0">', $comment_txt);
  153.       $comment_txt = str_replace(':|', '<img src="images/smileys/indifferent.png" border="0">', $comment_txt);
  154.       $comment_txt = str_replace(':D', '<img src="images/smileys/laughing.png" border="0">', $comment_txt);
  155.       $comment_txt = str_replace(':P', '<img src="images/smileys/lick.png" border="0">', $comment_txt);
  156.       $comment_txt = str_replace(':O', '<img src="images/smileys/ohno.png" border="0">', $comment_txt);
  157.       $comment_txt = str_replace(':)', '<img src="images/smileys/smile.png" border="0">', $comment_txt);
  158.       $comment_txt = str_replace('=)', '<img src="images/smileys/surprised.png" border="0">', $comment_txt);
  159.       $comment_txt = str_replace(':\\', '<img src="images/smileys/undecided.png" border="0">', $comment_txt);
  160.       $comment_txt = str_replace(';)', '<img src="images/smileys/wink.png" border="0">', $comment_txt);
  161.       $comment_txt_file = "$maj_data_directory/items/$maj_req_entry/comments/{$_REQUEST['type']}/{$_REQUEST['comment']}/comment.txt";
  162.       $open_comment_txt_file = fopen($comment_txt_file, "w");
  163.       fwrite($open_comment_txt_file, $comment_txt);
  164.       fclose($open_comment_txt_file);
  165.      
  166.       $comment_revisions_file = "$maj_data_directory/items/$maj_req_entry/comments/{$_REQUEST['type']}/{$_REQUEST['comment']}/revisions.txt";
  167.       $fp_comment_revisions_file = fopen($comment_revisions_file, "r");
  168.       $comment_revisions_count = fread($fp_comment_revisions_file, filesize($comment_revisions_file));
  169.       fclose($fp_comment_revisions_file);
  170.      
  171.       $comment_revisions_count = $comment_revisions_count + 1;
  172.       $fp_comment_revisions_file = fopen($comment_revisions_file, "w");
  173.       fwrite($fp_comment_revisions_file, $comment_revisions_count);
  174.       fclose($fp_comment_revisions_file);
  175.   }
  176.  
  177.   if (isset($_REQUEST['comment']) and !empty($_REQUEST['comment']) and isset($_REQUEST['type']) and !empty($_REQUEST['type']) and (($_REQUEST['type'] == "live") or ($_REQUEST['type'] == "pending"))) {
  178.       if (!file_exists("$maj_data_directory/items/$maj_req_entry/comments/{$_REQUEST['type']}/{$_REQUEST['comment']}")) {
  179.           exit();
  180.       }
  181. ?>
  182.   <table border="0" cellspacing="0" cellpadding="0"><tr><td width="520">
  183.   <div class="panel_title"><?php
  184.       readfile("$maj_data_directory/items/$maj_req_entry/comments/{$_REQUEST['type']}/{$_REQUEST['comment']}/firstname.txt");
  185. ?>&nbsp;<?php
  186.       readfile("$maj_data_directory/items/$maj_req_entry/comments/{$_REQUEST['type']}/{$_REQUEST['comment']}/lastname.txt");
  187. ?>&nbsp;&lt;<?php
  188.       readfile("$maj_data_directory/items/$maj_req_entry/comments/{$_REQUEST['type']}/{$_REQUEST['comment']}/email.txt");
  189. ?>&gt;</div>
  190.   <div class="panel_body"><?php
  191.  
  192.   echo "<font style=\"font-size: $maj_font_Spx; color: #999999;\">";
  193.  
  194.   if (file_exists("$maj_data_directory/items/$maj_req_entry/comments/{$_REQUEST['type']}/{$_REQUEST['comment']}/author.txt")) {
  195.       readfile("$maj_data_directory/items/$maj_req_entry/comments/{$_REQUEST['type']}/{$_REQUEST['comment']}/author.txt");
  196.       echo " - ";
  197.   }
  198.  
  199.   entry2date($_REQUEST['comment']);
  200.  
  201.   if (file_exists($revisions_file)) {
  202.       echo ' (Revision ';
  203.       readfile("$maj_data_directory/items/$maj_req_entry/comments/{$_REQUEST['type']}/{$_REQUEST['comment']}/revisions.txt");
  204.       echo " - ";
  205.       echo date("l, M j, Y, g:i A", filemtime("$maj_data_directory/items/$maj_req_entry/comments/{$_REQUEST['type']}/{$_REQUEST['comment']}/comment.txt"));
  206.       echo ')';
  207.   }
  208.  
  209.   echo "</font><div style=\"height: {$maj_wspace}px;\"></div>";  
  210.  
  211.       readfile("$maj_data_directory/items/$maj_req_entry/comments/{$_REQUEST['type']}/{$_REQUEST['comment']}/comment.txt");
  212. ?></div>
  213.  
  214.   </td></tr></table>
  215.  
  216.   <table border="0" cellspacing="2" cellpadding="0">
  217.   <form enctype="multipart/form-data" action="edit.php" method="post">
  218.   <tr><td><textarea class="input" name="comment_txt" rows="10"><?php
  219.       $comment_txt_file = "$maj_data_directory/items/$maj_req_entry/comments/{$_REQUEST['type']}/{$_REQUEST['comment']}/comment.txt";
  220.       $open_comment_txt_file = fopen($comment_txt_file, "r");
  221.       $read_comment_txt_file = fread($open_comment_txt_file, filesize($comment_txt_file));
  222.       fclose($open_comment_txt_file);
  223.      
  224.       $comment_smiley2emoticon = str_replace('<br />', "\n", $read_comment_txt_file);
  225.       $comment_smiley2emoticon = str_replace('<img src="images/smileys/crying.png" border="0">', ':((', $comment_smiley2emoticon);
  226.       $comment_smiley2emoticon = str_replace('<img src="images/smileys/frown.png" border="0">', ':(', $comment_smiley2emoticon);
  227.       $comment_smiley2emoticon = str_replace('<img src="images/smileys/indifferent.png" border="0">', ':|', $comment_smiley2emoticon);
  228.       $comment_smiley2emoticon = str_replace('<img src="images/smileys/laughing.png" border="0">', ':D', $comment_smiley2emoticon);
  229.       $comment_smiley2emoticon = str_replace('<img src="images/smileys/lick.png" border="0">', ':P', $comment_smiley2emoticon);
  230.       $comment_smiley2emoticon = str_replace('<img src="images/smileys/ohno.png" border="0">', ':O', $comment_smiley2emoticon);
  231.       $comment_smiley2emoticon = str_replace('<img src="images/smileys/smile.png" border="0">', ':)', $comment_smiley2emoticon);
  232.       $comment_smiley2emoticon = str_replace('<img src="images/smileys/surprised.png" border="0">', '=)', $comment_smiley2emoticon);
  233.       $comment_smiley2emoticon = str_replace('<img src="images/smileys/undecided.png" border="0">', ':\\', $comment_smiley2emoticon);
  234.       $comment_smiley2emoticon = str_replace('<img src="images/smileys/wink.png" border="0">', ';)', $comment_smiley2emoticon);
  235.      
  236.       echo $comment_smiley2emoticon;
  237. ?></textarea></td></tr>
  238.   <tr><td><input type="hidden" name="entry" value="<?php
  239.       echo $maj_req_entry;
  240. ?>"></td></tr>
  241.   <tr><td><input type="hidden" name="comment" value="<?php
  242.       echo $_REQUEST['comment'];
  243. ?>"></td></tr>
  244.   <tr><td><input type="hidden" name="type" value="<?php
  245.       echo $_REQUEST['type'];
  246. ?>"></td></tr>
  247.   <tr><td><input class="click" type="submit" value="click here to update this comment"></td></tr>
  248.   </form>
  249.  
  250.   <form enctype="multipart/form-data" action="index.php?entry=<?php
  251.       echo $maj_req_entry;
  252. ?>&show=comments" method="post">
  253.   <tr><td><input class="click" type="submit" value="click here to view posted entry"></td></tr>
  254.   </form>
  255.  
  256.   <form enctype="multipart/form-data" action="index.php" method="post">
  257.   <tr><td><input class="click" type="submit" value="click here to go to the index page"></td></tr>
  258.   </form>
  259.   </table>
  260.  
  261. <?php
  262.       exit();
  263.   }
  264. ?>
  265.  
  266. <table border="0" cellspacing="0" cellpadding="0">
  267.  
  268. <tr><td valign="top">
  269.  
  270. <table border="0" cellspacing="0" cellpadding="0"><tr><td width="520">
  271.  
  272. <div class="panel_wrapper">
  273.  
  274. <div class="panel_title"><?php
  275.   readfile($title_file);
  276. ?></div>
  277. <div class="panel_body"><table border="0" cellspacing="0" cellpadding="0"><tr><td><?php
  278.  
  279.   echo "<font style=\"font-size: $maj_font_Spx; color: #999999;\">";
  280.  
  281.   if (file_exists("$maj_data_directory/items/$maj_req_entry/author.txt")) {
  282.       readfile("$maj_data_directory/items/$maj_req_entry/author.txt");
  283.       echo " - ";
  284.   }
  285.  
  286.   entry2date($maj_req_entry);
  287.  
  288.   if (file_exists($revisions_file)) {
  289.       echo ' (Revision ';
  290.       readfile($revisions_file);
  291.       echo " - ";
  292.       echo date("l, M j, Y, g:i A", filemtime("$maj_data_directory/items/$maj_req_entry/body.txt"));
  293.       echo ')';
  294.   }
  295.  
  296.   echo "</font><div style=\"height: {$maj_wspace}px;\"></div>";  
  297.  
  298.   readfile($body_file);
  299. ?></td></tr></table></div></div>
  300. </td></tr></table>
  301.  
  302. <form enctype="multipart/form-data" action="edit.php" method="post">
  303.  
  304. <table border="0" cellspacing="2" cellpadding="0">
  305.  
  306. <?php
  307.   if (($maj_logged_in_username == $maj_admin_username) or (file_exists("$maj_data_directory/members/active/$maj_logged_in_username/bb-ul.txt") and file_exists("$maj_data_directory/members/active/$maj_logged_in_username/bb-rw.txt"))) {
  308. ?>
  309.  
  310. <input type="hidden" name="max_file_size" value="<?php
  311.       echo $max_file_size;
  312. ?>">
  313.  
  314. <tr><td><input autocomplete="off" type="file" name="entry_image_input"> Upload optional GIF, JPG, or PNG entry image.</td></tr>
  315. <tr><td><input type="hidden" name="max_file_size" value="<?php
  316.       echo $max_file_size;
  317. ?>"></td></tr>
  318. <tr><td><input autocomplete="off" type="file" name="file_input"> Upload optional file. Max size supported by server is <?php
  319.       echo($max_file_size / (1024 * 1024));
  320. ?>MB.</td></tr>
  321.  
  322. <tr><td><input autocomplete="off" type="file" name="album_image_input"> Upload optional album image.</td></tr>
  323. <tr><td><input autocomplete="off" type="text" name="caption" class="input" style="width: 300px;"> Enter optional album image caption.</td></tr>
  324. <tr><td><input type="hidden" name="max_file_size" value="<?php
  325.       echo $max_file_size;
  326. ?>"></td></tr>
  327.  
  328. <?php
  329. }
  330.  
  331. if ($maj_logged_in_username == $maj_admin_username) {
  332. ?>
  333.  
  334.   <tr><td><input class="input" style="width: 300px;" autocomplete="off" type="password" name="passwd" <?php
  335.         if (file_exists("$maj_data_directory/items/$maj_req_entry/passwd.txt")) {
  336.                 echo "value=\"password\"";
  337.         }
  338. ?>
  339.  
  340.   > <?php
  341.         if (file_exists("$maj_data_directory/items/$maj_req_entry/passwd.txt")) {
  342.                 echo "Enter new password or clear field to disable password protection.";
  343.         } else {
  344.                 echo "Enter optional entry access password.";
  345.         }
  346. ?></td></tr>
  347.  
  348.   <tr><td><input class="input" style="width: 300px;" autocomplete="off" type="text" name="maxlines" <?php
  349.         if (file_exists("$maj_data_directory/items/$maj_req_entry/maxlines.txt")) {
  350.                 echo "value=\"";
  351.                 readfile("$maj_data_directory/items/$maj_req_entry/maxlines.txt");
  352.                 echo "\"";
  353.         }
  354. ?>
  355.  
  356.   > <?php
  357.         if (file_exists("$maj_data_directory/items/$maj_req_entry/maxlines.txt")) {
  358.                 echo "Enter new maximum lines for initial display or clear field to disable.";
  359.         } else {
  360.                 echo "Enter optional maximum lines for initial display.";
  361.         }
  362. ?></td></tr>
  363.  
  364.   <tr><td><input type="checkbox" name="sticky" <?php
  365.         $sticky_sem = 'data/sticky/' . $maj_req_entry;
  366.         if (file_exists($sticky_sem)) {
  367.                 echo checked;
  368.         }
  369. ?>>Put entry title in Quick Links box.</td></tr>
  370.   <tr><td><input type="checkbox" name="display" <?php
  371.         $display_sem = "$maj_data_directory/items/$maj_req_entry/cat.txt";
  372.         if (file_exists($display_sem)) {
  373.                 echo checked;
  374.         }
  375. ?>>Always display. If this is not a private entry, it will be displayed even if its category is hidden or isolated.</td></tr>
  376.   <tr><td><input type="checkbox" name="private" <?php
  377.         $private_sem = "$maj_data_directory/items/$maj_req_entry/private.txt";
  378.         if (file_exists($private_sem)) {
  379.                 echo checked;
  380.         }
  381. ?>>Private entry. This entry will unconditionally be invisible to visitors<?php
  382.         if (file_exists("$maj_data_directory/ml.txt")) {
  383.                 echo " and to the mailing list";
  384.         }
  385. ?>, even if always display is set.</td></tr>
  386.  
  387. <?php
  388.         if (file_exists("$maj_data_directory/bb.txt")) {
  389. ?>
  390.  
  391.   <tr><td><input type="checkbox" name="member" <?php
  392.                 $member_sem = "$maj_data_directory/items/$maj_req_entry/member.txt";
  393.                 if (file_exists($member_sem)) {
  394.                         echo checked;
  395.                 }
  396. ?>>Only registered members can view this entry.</td></tr>
  397.  
  398. <?php
  399.         }
  400. ?>
  401.  
  402. <?php
  403.         if (file_exists("$maj_data_directory/bb.txt") and file_exists("$maj_data_directory/wiki.txt")) {
  404. ?>
  405.  
  406.   <tr><td><input type="checkbox" name="edit" <?php
  407.                 $edit_sem = "$maj_data_directory/items/$maj_req_entry/edit.txt";
  408.                 if (file_exists($edit_sem)) {
  409.                         echo checked;
  410.                 }
  411. ?>>Registered members can edit this entry.</td></tr>
  412.   <tr><td><input type="checkbox" name="lock" <?php
  413.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/lock.txt")) {
  414.                         echo checked;
  415.                 }
  416. ?>>Only the administrator can edit this entry. </td></tr>
  417.  
  418. <?php
  419.         }
  420. }
  421.  
  422. if (($maj_logged_in_username == $maj_admin_username) or file_exists("$maj_data_directory/members/active/$maj_logged_in_username/bb-adm.txt")) {
  423. ?>
  424.  
  425.   <tr><td><input type="checkbox" name="xtitle" <?php
  426.         $lastmod_sem = "$maj_data_directory/items/$maj_req_entry/xtitle.txt";
  427.         if (file_exists($lastmod_sem)) {
  428.                 echo checked;
  429.         }
  430. ?>>Do not display the entry title.</td></tr>
  431.  
  432.   <tr><td><input type="checkbox" name="xdate" <?php
  433.         $lastmod_sem = "$maj_data_directory/items/$maj_req_entry/xdate.txt";
  434.         if (file_exists($lastmod_sem)) {
  435.                 echo checked;
  436.         }
  437. ?>>Do not display the entry date.</td></tr>
  438.  
  439. <?php
  440.  
  441.         if (!file_exists("$maj_data_directory/avatar.txt")) {
  442.  
  443.                 echo "<tr><td><input type=\"checkbox\" name=\"xauthor\"";
  444.  
  445.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/xauthor.txt")) {
  446.                         echo checked;
  447.                 }
  448.        
  449.                 echo ">Do not display the entry author.</td></tr>";
  450.         }
  451.         else {
  452.                 echo "<tr><td><input type=\"checkbox\" name=\"xavatar\"";
  453.  
  454.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/xavatar.txt")) {
  455.                         echo checked;
  456.                 }
  457.        
  458.                 echo ">Do not display the entry avatar.</td></tr>";
  459.         }
  460.  
  461. ?>
  462.  
  463.  
  464.   <tr><td><input type="checkbox" name="lastmod" <?php
  465.         $lastmod_sem = "$maj_data_directory/items/$maj_req_entry/lastmod.txt";
  466.         if (file_exists($lastmod_sem)) {
  467.                 echo checked;
  468.         }
  469. ?>>Display last modification date and time.</td></tr>
  470.  
  471. <?php
  472.  
  473.         if (file_exists("$maj_data_directory/gl.txt")) {
  474.  
  475.                 echo "<tr><td><input type=\"checkbox\" name=\"gl\"";
  476.  
  477.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/gl.txt")) {
  478.                         echo checked;
  479.                 }
  480.        
  481.                 echo ">Enable Google support.</td></tr>";
  482.         }
  483.  
  484.         if (file_exists("$maj_data_directory/fb.txt")) {
  485.  
  486.                 echo "<tr><td><input type=\"checkbox\" name=\"fb\"";
  487.  
  488.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/fb.txt")) {
  489.                         echo checked;
  490.                 }
  491.        
  492.                 echo ">Enable Facebook support.</td></tr>";
  493.         }
  494.  
  495.         if (file_exists("images/$maj_req_entry/album")) {
  496.        
  497.                 $count_album_images = count(glob("images/$maj_req_entry/album/*"));
  498.                
  499.                 if ($count_album_images < 1) {
  500.                         rmdirr("images/$maj_req_entry/album");
  501.                 }
  502.                 else {
  503.                         if (file_exists("$maj_data_directory/items/$maj_req_entry/auto-album.txt")) {
  504.                                 echo "<tr><td><input type=\"checkbox\" name=\"auto_album\" checked>";
  505.                         }
  506.                         else {
  507.                                 echo "<tr><td><input type=\"checkbox\" name=\"auto_album\">";
  508.                         }
  509.                
  510.                         if ($count_album_images > 1) {
  511.                                 echo "Automatically display album (<a href=\"index.php?entry=$maj_req_entry&show=album\">$count_album_images images</a>).</td></tr>";
  512.                         }
  513.                         else {
  514.                                 echo "Automatically display album (<a href=\"index.php?entry=$maj_req_entry&show=album\">$count_album_images image</a>).</td></tr>";
  515.                         }
  516.                 }
  517.         }
  518.  
  519.         if (file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/files")) {
  520.        
  521.                 $count_filedrop_files = count(glob("$maj_data_directory/items/$maj_req_entry/filedrop/files/*"));
  522.                
  523.                 if ($count_filedrop_files < 1) {
  524.                         rmdirr("$maj_data_directory/items/$maj_req_entry/filedrop");
  525.                 }
  526.                 else {
  527.                         if (file_exists("$maj_data_directory/items/$maj_req_entry/auto-filedrop.txt")) {
  528.                                 echo "<tr><td><input type=\"checkbox\" name=\"auto_filedrop\" checked>";
  529.                         }
  530.                         else {
  531.                                 echo "<tr><td><input type=\"checkbox\" name=\"auto_filedrop\">";
  532.                         }
  533.        
  534.                         if ($count_filedrop_files > 1) {
  535.                
  536.                                 echo "Automatically display filedrop (<a href=\"index.php?entry=$maj_req_entry&show=filedrop\">$count_filedrop_files files</a>).</td></tr>";
  537.  
  538.                                 if (file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/sort/new-on-top.txt")) {
  539.                                         echo "<tr><td><input type=\"checkbox\" name=\"sort_filedrop_new\" checked>";
  540.                                 }
  541.                                 else {
  542.                                         echo "<tr><td><input type=\"checkbox\" name=\"sort_filedrop_new\">";
  543.                                 }
  544.                        
  545.                                 echo " Sort filedrop by upload order and display files from newest to oldest.</td></tr>";
  546.  
  547.                                 if (file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/sort/old-on-top.txt")) {
  548.                                         echo "<tr><td><input type=\"checkbox\" name=\"sort_filedrop_old\" checked>";
  549.                                 }
  550.                                 else {
  551.                                         echo "<tr><td><input type=\"checkbox\" name=\"sort_filedrop_old\">";
  552.                                 }
  553.                                
  554.                                 echo " Sort filedrop by upload order and display files from oldest to newest.</td></tr>";
  555.                         }
  556.                         else {
  557.                                 echo "Automatically display filedrop (<a href=\"index.php?entry=$maj_req_entry&show=filedrop\">$count_filedrop_files file</a>).</td></tr>";
  558.                         }
  559.                 }
  560.         }
  561.  
  562. }
  563.  
  564. ?>
  565.  
  566. </table></p>
  567.  
  568. <input type="hidden" name="entry" value="<?php echo $maj_req_entry; ?>">
  569.  
  570. <table border="0" cellspacing="0" cellpadding="0"><tr><td>
  571.  
  572. <table border="0" cellspacing="2" cellpadding="0">
  573. <tr><td><input required autocomplete="off" class="input" style="font-size: <?php echo $maj_font_Lpx; ?>; font-weight: bold;" type="text" name="title_input" value="<?php readfile($title_file); ?>"></td></tr>
  574. <tr><td><textarea class="input" style="font-size: <?php echo $maj_font_Mpx; ?>;" name="body_input" rows="15" required>
  575. <?php
  576.   $open_body_file = fopen($body_file, "r");
  577.   $read_body_file = fread($open_body_file, filesize($body_file));
  578.   fclose($open_body_file);
  579.  
  580.   $body_read_content = str_replace('<br />', "\n", $read_body_file);
  581.   $body_read_content = str_replace('<img src="images/smileys/crying.png" border="0">', ':((', $body_read_content);
  582.   $body_read_content = str_replace('<img src="images/smileys/frown.png" border="0">', ':(', $body_read_content);
  583.   $body_read_content = str_replace('<img src="images/smileys/indifferent.png" border="0">', ':|', $body_read_content);
  584.   $body_read_content = str_replace('<img src="images/smileys/laughing.png" border="0">', ':D', $body_read_content);
  585.   $body_read_content = str_replace('<img src="images/smileys/lick.png" border="0">', ':P', $body_read_content);
  586.   $body_read_content = str_replace('<img src="images/smileys/ohno.png" border="0">', ':O', $body_read_content);
  587.   $body_read_content = str_replace('<img src="images/smileys/smile.png" border="0">', ':)', $body_read_content);
  588.   $body_read_content = str_replace('<img src="images/smileys/surprised.png" border="0">', '=)', $body_read_content);
  589.   $body_read_content = str_replace('<img src="images/smileys/undecided.png" border="0">', ':\\', $body_read_content);
  590.   $body_read_content = str_replace('<img src="images/smileys/wink.png" border="0">', ';)', $body_read_content);
  591.   $body_read_content = str_replace('<!-- html -->', '<html>', $body_read_content);
  592.   $body_read_content = str_replace('<!-- /html -->', '</html>', $body_read_content);
  593.   $body_read_content = str_replace('<span style="background-color: #ffff00;">', '<highlight>', $body_read_content);
  594.   $body_read_content = str_replace('</span>', '</highlight>', $body_read_content);
  595.  
  596.   echo $body_read_content;
  597. ?>
  598. </textarea></td></tr>
  599. <tr><td><input class="click" type="submit" value="click here to update this entry"></td></tr>
  600. </form>
  601.  
  602. <form enctype="multipart/form-data" action="index.php?entry=<?php echo $maj_req_entry; ?>" method="post">
  603. <tr><td><input class="click" type="submit" value="click here to view posted entry"></td></tr>
  604. </form>
  605.  
  606. <form enctype="multipart/form-data" action="index.php" method="post">
  607. <tr><td><input class="click" type="submit" value="click here to go to the index page"></td></tr>
  608. </form>
  609.  
  610. </table>
  611.  
  612. </td><td width="10"></td><td>
  613.  
  614. <table border="0" cellspacing="1" cellpadding="2">
  615. <tr><td><img src="images/smileys/crying.png" border="0"></td><td>:((</td><td >crying</td></tr>
  616. <tr><td><img src="images/smileys/frown.png" border="0"></td><td>:(</td><td>frown</td></tr>
  617. <tr><td><img src="images/smileys/indifferent.png" border="0"></td><td>:|</td><td>indifferent</td></tr>
  618. <tr><td><img src="images/smileys/laughing.png" border="0"></td><td>:D</td><td>laughing</td></tr>
  619. <tr><td><img src="images/smileys/lick.png" border="0"></td><td>:P</td><td>lick</td></tr>
  620. <tr><td><img src="images/smileys/ohno.png" border="0"></td><td>:O</td><td>oh no!</td></tr>
  621. <tr><td><img src="images/smileys/smile.png" border="0"></td><td>:)</td><td>smile</td></tr>
  622. <tr><td><img src="images/smileys/surprised.png" border="0"></td><td>=)</td><td>surprised</td></tr>
  623. <tr><td><img src="images/smileys/undecided.png" border="0"></td><td>:\</td><td>undecided</td></tr>
  624. <tr><td><img src="images/smileys/wink.png" border="0"></td><td>;)</td><td>wink</td></tr>
  625. </table>
  626.  
  627. </td></tr></table>
  628.  
  629. </td><td width="25"></td><td valign="top">
  630.  
  631. <?php
  632.   // improve category handling (20100221) - start
  633.  
  634.   if (file_exists("$maj_data_directory/categories")) {
  635.       echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\"><tr><td valign=\"top\" width=\"150\">";
  636.      
  637.       if ($dh_cat = opendir("$maj_data_directory/categories")) {
  638.           while (($entry_cat = readdir($dh_cat)) !== false) {
  639.               if ($entry_cat != "." && $entry_cat != "..") {
  640.                   if (file_exists("$maj_data_directory/categories/$entry_cat/private.txt") and ($maj_admin_username != $maj_logged_in_username)) {
  641.                       continue;
  642.                   }
  643.                  
  644.                   if (($maj_admin_username != $maj_logged_in_username) and !file_exists("$maj_data_directory/members/active/$maj_logged_in_username/bb-adm.txt")) {
  645.                         continue;
  646.                   }
  647.                  
  648.                   if (file_exists("$maj_data_directory/items/$maj_req_entry/categories/$entry_cat")) {
  649.                       $filed_cat[] = $entry_cat;
  650.                   }
  651.                  
  652.                   if (!file_exists("$maj_data_directory/items/$maj_req_entry/categories/$entry_cat")) {
  653.                       $unfiled_cat[] = $entry_cat;
  654.                   }
  655.               }
  656.           }
  657.           closedir($dh_cat);
  658.          
  659.           sort($filed_cat);
  660.           sort($unfiled_cat);
  661.          
  662.           $count_filed_cat = count($filed_cat);
  663.           $count_unfiled_cat = count($unfiled_cat);
  664.       }
  665.      
  666.       if ($count_filed_cat > 0) {
  667.           echo "<p><b>Filed Under</b></p>";
  668.          
  669.           echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\" bgcolor=\"#cccccc\" width=\"150\">";
  670.          
  671.           foreach ($filed_cat as $filed_category) {
  672.               echo "<form enctype=\"multipart/form-data\" action=\"edit.php\" method=\"post\">";
  673.               echo "<input type=\"hidden\" name=\"entry\" value=\"$maj_req_entry\">";
  674.               echo "<input type=\"hidden\" name=\"category\" value=\"$filed_category\">";
  675.               echo "<input type=\"hidden\" name=\"do\" value=\"unfile\">";
  676.               echo "<tr bgcolor=\"#ffffff\"><td><a href=\"index.php?category=$filed_category\">$filed_category</a></td>";
  677.               echo "<td width=\"14\"><input type=\"image\" src=\"images/widget.x.png\"></td></tr>";
  678.               echo "</form>";
  679.           }
  680.          
  681.           echo "</table>";
  682.       }
  683.      
  684.       echo "</td><td width=\"25\"></td><td valign=\"top\" width=\"150\">";
  685.      
  686.       if ($count_unfiled_cat > 0) {
  687.           echo "<p><b>Available Categories</b></p>";
  688.          
  689.           echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\" bgcolor=\"#cccccc\" width=\"150\">";
  690.          
  691.           foreach ($unfiled_cat as $unfiled_category) {
  692.               echo "<form enctype=\"multipart/form-data\" action=\"edit.php\" method=\"post\">";
  693.               echo "<input type=\"hidden\" name=\"entry\" value=\"$maj_req_entry\">";
  694.               echo "<input type=\"hidden\" name=\"category\" value=\"$unfiled_category\">";
  695.               echo "<input type=\"hidden\" name=\"do\" value=\"file\">";
  696.               echo "<tr bgcolor=\"#ffffff\"><td width=\"14\"><input type=\"image\" src=\"images/widget.ok.png\"></td>";
  697.               echo "<td align=\"right\"><a href=\"index.php?category=$unfiled_category\">$unfiled_category</a></td></tr>";
  698.               echo "</form>";
  699.           }
  700.          
  701.           echo "</table>";
  702.       }
  703.      
  704.       echo "</td></tr></table><br>";
  705.   }
  706.  
  707.   // improve category handling (20100221) - end
  708.  
  709.   // add member authorization (20100221) - start
  710.  
  711.   if (file_exists("$maj_data_directory/members/active") and (($maj_admin_username == $maj_logged_in_username) or (($maj_admin_username != $maj_logged_in_username) and file_exists("$maj_data_directory/members/active/$maj_logged_in_username/bb-adm.txt")))) {
  712.       echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\"><tr><td valign=\"top\" width=\"150\">";
  713.      
  714.       if ($dh_ack_members = opendir("$maj_data_directory/items/$maj_req_entry/members")) {
  715.           while (($ack_member = readdir($dh_ack_members)) !== false) {
  716.               if ($ack_member != "." && $ack_member != "..") {
  717.                   if (file_exists("$maj_data_directory/members/active/$ack_member")) {
  718.                       $ack_members[] = $ack_member;
  719.                   } else {
  720.                       rmdirr("$maj_data_directory/items/$maj_req_entry/members/$ack_member");
  721.                   }
  722.               }
  723.           }
  724.           closedir($dh_ack_members);
  725.           sort($ack_members);
  726.           $count_ack_members = count($ack_members);
  727.       }
  728.      
  729.       if ($dh_nak_members = opendir("$maj_data_directory/members/active")) {
  730.           while (($nak_member = readdir($dh_nak_members)) !== false) {
  731.               if ($nak_member != "." && $nak_member != "..") {
  732.                   if (file_exists("$maj_data_directory/items/$maj_req_entry/members/$nak_member")) {
  733.                       continue;
  734.                   }
  735.                  
  736.                   if (!file_exists("$maj_data_directory/items/$maj_req_entry/members/$nak_member")) {
  737.                       $nak_members[] = $nak_member;
  738.                   }
  739.               }
  740.           }
  741.           closedir($dh_nak_members);
  742.           sort($nak_members);
  743.           $count_nak_members = count($nak_members);
  744.       }
  745.      
  746.       if ($count_ack_members > 0) {
  747.           echo "<p><b>Authorized Members</b></p>";
  748.          
  749.           echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\" bgcolor=\"#cccccc\" width=\"150\">";
  750.          
  751.           foreach ($ack_members as $ack_member) {
  752.  
  753.                 if ($maj_logged_in_username == $nak_member) {
  754.                         continue;
  755.                 }
  756.                          
  757.               echo "<form enctype=\"multipart/form-data\" action=\"edit.php\" method=\"post\">";
  758.               echo "<input type=\"hidden\" name=\"entry\" value=\"$maj_req_entry\">";
  759.               echo "<input type=\"hidden\" name=\"auth_member\" value=\"$ack_member\">";
  760.               echo "<input type=\"hidden\" name=\"auth_toggle\" value=\"nak\">";
  761.               echo "<tr bgcolor=\"#ffffff\"><td><a href=\"member.php?id=$ack_member\">$ack_member</a></td>";
  762.               echo "<td width=\"14\"><input type=\"image\" src=\"images/widget.x.png\"></td></tr>";
  763.               echo "</form>";
  764.           }
  765.           echo "</table>";
  766.       }
  767.      
  768.       echo "</td><td width=\"25\"></td><td valign=\"top\" width=\"150\">";
  769.      
  770.       if ($count_nak_members > 0) {
  771.           echo "<p><b>Registered Members</b></p>";
  772.          
  773.           echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\" bgcolor=\"#cccccc\" width=\"150\">";
  774.          
  775.           foreach ($nak_members as $nak_member) {
  776.          
  777.                 if ($maj_logged_in_username == $nak_member) {
  778.                         continue;
  779.                 }
  780.          
  781.               echo "<form enctype=\"multipart/form-data\" action=\"edit.php\" method=\"post\">";
  782.               echo "<input type=\"hidden\" name=\"entry\" value=\"$maj_req_entry\">";
  783.               echo "<input type=\"hidden\" name=\"auth_member\" value=\"$nak_member\">";
  784.               echo "<input type=\"hidden\" name=\"auth_toggle\" value=\"ack\">";
  785.               echo "<tr bgcolor=\"#ffffff\"><td width=\"14\"><input type=\"image\" src=\"images/widget.ok.png\"></td>";
  786.               echo "<td align=\"right\"><a href=\"member.php?id=$nak_member\">$nak_member</a></td></tr>";
  787.               echo "</form>";
  788.           }
  789.           echo "</table>";
  790.       }
  791.      
  792.       echo "</td></tr></table><br>";
  793.   }
  794.  
  795.   // add member authorization (20100221) - end
  796. ?>
  797.  
  798. </td></tr></table>
  799.  
  800. <?php
  801.   if (!isset($_POST['title_input']) or !isset($_POST['body_input']) or empty($_POST['title_input']) or empty($_POST['body_input'])) {
  802.       exit();
  803.   }
  804.  
  805.   if (file_exists("$maj_data_directory/items/$maj_req_entry/title.old")) {
  806.       unlink("$maj_data_directory/items/$maj_req_entry/title.old");
  807.   }
  808.  
  809.   if (file_exists("$maj_data_directory/items/$maj_req_entry/body.old")) {
  810.       unlink("$maj_data_directory/items/$maj_req_entry/body.old");
  811.   }
  812.  
  813.   copy("$maj_data_directory/items/$maj_req_entry/title.txt", "$maj_data_directory/items/$maj_req_entry/title.old");
  814.   copy("$maj_data_directory/items/$maj_req_entry/body.txt", "$maj_data_directory/items/$maj_req_entry/body.old");
  815.  
  816.   $title_write_content = format_title_put($_POST['title_input']);
  817.   $body_write_content = format_body_put($_POST['body_input']);
  818.  
  819.   $fp_revisions_file = fopen($revisions_file, "r");
  820.   $revisions_count = fread($fp_revisions_file, filesize($revisions_file));
  821.   fclose($fp_revisions_file);
  822.  
  823.   $revisions_count = $revisions_count + 1;
  824.  
  825.   $fp_revisions_file = fopen($revisions_file, "w");
  826.   fwrite($fp_revisions_file, $revisions_count);
  827.   fclose($fp_revisions_file);
  828.  
  829.   if (isset($_FILES['album_image_input']) and !empty($_FILES['album_image_input'])) {
  830.       if (is_uploaded_file($_FILES['album_image_input']['tmp_name'])) {
  831.           if ($_FILES['album_image_input']['size'] <= $max_file_size) {
  832.               if (($_FILES['album_image_input']['type'] == "image/gif") || ($_FILES['album_image_input']['type'] == "image/pjpeg") || ($_FILES['album_image_input']['type'] == "image/jpeg") || ($_FILES['album_image_input']['type'] == "image/png")) {
  833.                   $album_image_input_name = str_replace(" ", "_", $_FILES['album_image_input']['name']);
  834.                  
  835.                   if (!file_exists("images/$maj_req_entry/album/$album_image_input_name")) {
  836.                       if (!file_exists("images/$maj_req_entry")) {
  837.                           mkdir("images/$maj_req_entry");
  838.                       }
  839.                      
  840.                       if (!file_exists("images/$maj_req_entry/album")) {
  841.                           mkdir("images/$maj_req_entry/album");
  842.                       }
  843.                      
  844.                       if (!file_exists("$maj_data_directory/albums")) {
  845.                           mkdir("$maj_data_directory/albums");
  846.                       }
  847.                      
  848.                       if (!file_exists("$maj_data_directory/albums/$maj_req_entry")) {
  849.                           mkdir("$maj_data_directory/albums/$maj_req_entry");
  850.                       }
  851.                      
  852.                       if (isset($_POST['caption']) and !empty($_POST['caption'])) {
  853.                           if (!file_exists("$maj_data_directory/items/$maj_req_entry/album")) {
  854.                               mkdir("$maj_data_directory/items/$maj_req_entry/album");
  855.                           }
  856.                          
  857.                           if (!file_exists("$maj_data_directory/items/$maj_req_entry/album/captions")) {
  858.                               mkdir("$maj_data_directory/items/$maj_req_entry/album/captions");
  859.                           }
  860.                          
  861.                           if (!file_exists("$maj_data_directory/items/$maj_req_entry/album/captions/{$album_image_input_name}.txt")) {
  862.                               $caption_txt = ucfirst($_POST['caption']);
  863.                               $caption_txt = str_replace(':((', '<img src="images/smileys/crying.png" border="0">', $caption_txt);
  864.                               $caption_txt = str_replace(':(', '<img src="images/smileys/frown.png" border="0">', $caption_txt);
  865.                               $caption_txt = str_replace(':|', '<img src="images/smileys/indifferent.png" border="0">', $caption_txt);
  866.                               $caption_txt = str_replace(':D', '<img src="images/smileys/laughing.png" border="0">', $caption_txt);
  867.                               $caption_txt = str_replace(':P', '<img src="images/smileys/lick.png" border="0">', $caption_txt);
  868.                               $caption_txt = str_replace(':O', '<img src="images/smileys/ohno.png" border="0">', $caption_txt);
  869.                               $caption_txt = str_replace(':)', '<img src="images/smileys/smile.png" border="0">', $caption_txt);
  870.                               $caption_txt = str_replace('=)', '<img src="images/smileys/surprised.png" border="0">', $caption_txt);
  871.                               $caption_txt = str_replace(':\\', '<img src="images/smileys/undecided.png" border="0">', $caption_txt);
  872.                               $caption_txt = str_replace(';)', '<img src="images/smileys/wink.png" border="0">', $caption_txt);
  873.                               $caption_txt = str_replace('[code]', '<code>', $caption_txt);
  874.                               $caption_txt = str_replace('[/code]', '</code>', $caption_txt);
  875.                               $caption_txt = str_replace("\n", '<br />', $caption_txt);
  876.                               $caption_txt = str_replace('[b]', '<b>', $caption_txt);
  877.                               $caption_txt = str_replace('[/b]', '</b>', $caption_txt);
  878.                               $caption_txt = str_replace('[i]', '<i>', $caption_txt);
  879.                               $caption_txt = str_replace('[/i]', '</i>', $caption_txt);
  880.                               $caption_txt = str_replace('[u]', '<u>', $caption_txt);
  881.                               $caption_txt = str_replace('[/u]', '</u>', $caption_txt);
  882.                               $caption_txt = str_replace('[strike]', '<strike>', $caption_txt);
  883.                               $caption_txt = str_replace('[/strike]', '</strike>', $caption_txt);
  884.                               $caption_txt = str_replace('[sup]', '<sup>', $caption_txt);
  885.                               $caption_txt = str_replace('[/sup]', '</sup>', $caption_txt);
  886.                               $caption_txt = str_replace('[sub]', '<sub>', $caption_txt);
  887.                               $caption_txt = str_replace('[/sub]', '</sub>', $caption_txt);
  888.                               $caption_txt = str_replace('[highlight]', '<highlight>', $caption_txt);
  889.                               $caption_txt = str_replace('[/highlight]', '</highlight>', $caption_txt);
  890.                               $caption_txt = str_replace('<highlight>', '<span style="background-color: #ffff00;">', $caption_txt);
  891.                               $caption_txt = str_replace('</highlight>', '</span>', $caption_txt);
  892.                              
  893.                               $fp_caption_txt = fopen("$maj_data_directory/items/$maj_req_entry/album/captions/{$album_image_input_name}.txt", "w");
  894.                               fwrite($fp_caption_txt, $caption_txt);
  895.                               fclose($fp_caption_txt);
  896.                           }
  897.                       }
  898.                      
  899.                      
  900.                       $res = copy($_FILES['album_image_input']['tmp_name'], "images/$maj_req_entry/album/$album_image_input_name");
  901.                       unlink($_FILES['album_image_input']['tmp_name']);
  902.                   } else {
  903.                       unlink($_FILES['album_image_input']['tmp_name']);
  904.                   }
  905.               } else {
  906.                   unlink($_FILES['album_image_input']['tmp_name']);
  907.               }
  908.           } else {
  909.               unlink($_FILES['album_image_input']['tmp_name']);
  910.           }
  911.       } else {
  912.           unlink($_FILES['album_image_input']['tmp_name']);
  913.       }
  914.   }
  915.  
  916.   if (isset($_FILES['entry_image_input']) and !empty($_FILES['entry_image_input'])) {
  917.       if (is_uploaded_file($_FILES['entry_image_input']['tmp_name'])) {
  918.           if ($_FILES['entry_image_input']['size'] <= $max_file_size) {
  919.               if (($_FILES['entry_image_input']['type'] == "image/gif") || ($_FILES['entry_image_input']['type'] == "image/pjpeg") || ($_FILES['entry_image_input']['type'] == "image/jpeg") || ($_FILES['entry_image_input']['type'] == "image/png")) {
  920.                   $entry_image_input_name = str_replace(" ", "_", $_FILES['entry_image_input']['name']);
  921.                  
  922.                  
  923.                   if (!file_exists("images/$maj_req_entry/$entry_image_input_name")) {
  924.                       if (!file_exists("images/$maj_req_entry")) {
  925.                           mkdir("images/$maj_req_entry");
  926.                       }
  927.                      
  928.                      
  929.                       $res = copy($_FILES['entry_image_input']['tmp_name'], "images/$maj_req_entry/$entry_image_input_name");
  930.                       unlink($_FILES['entry_image_input']['tmp_name']);
  931.                      
  932.                       $entry_image_size = getimagesize("images/$maj_req_entry/$entry_image_input_name");
  933.                       $entry_image_width = $entry_image_size[0];
  934.                       $entry_image_height = $entry_image_size[1];
  935.                      
  936.                       if ($entry_image_width > $maj_eimage) {
  937.                           $sizefactor = (double)($maj_eimage / $entry_image_width);
  938.                           $entry_image_width = (int)($entry_image_width * $sizefactor);
  939.                           $entry_image_height = (int)($entry_image_height * $sizefactor);
  940.                       }
  941.                      
  942.                       $body_write_content = "<img src=\"images/$maj_req_entry/$entry_image_input_name\" border=\"0\" width=\"$entry_image_width\" height=\"$entry_image_height\">\n\r$body_write_content";
  943.                   } else {
  944.                       unlink($_FILES['entry_image_input']['tmp_name']);
  945.                   }
  946.               } else {
  947.                   unlink($_FILES['entry_image_input']['tmp_name']);
  948.               }
  949.           } else {
  950.               unlink($_FILES['entry_image_input']['tmp_name']);
  951.           }
  952.       } else {
  953.           unlink($_FILES['entry_image_input']['tmp_name']);
  954.       }
  955.   }
  956.  
  957.   if (isset($_FILES['file_input']) and !empty($_FILES['file_input'])) {
  958.       if (is_uploaded_file($_FILES['file_input']['tmp_name'])) {
  959.           if ($_FILES['file_input']['size'] <= $max_file_size) {
  960.               if (!file_exists("$maj_data_directory/items/$maj_req_entry/filedrop")) {
  961.                   mkdir("$maj_data_directory/items/$maj_req_entry/filedrop");
  962.               }
  963.              
  964.               if (!file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/files")) {
  965.                   mkdir("$maj_data_directory/items/$maj_req_entry/filedrop/files");
  966.               }
  967.              
  968.               $file_input_name = str_replace(" ", "_", $_FILES['file_input']['name']);
  969.              
  970.               if (!file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/files/$file_input_name")) {
  971.                   $res = copy($_FILES['file_input']['tmp_name'], "$maj_data_directory/items/$maj_req_entry/filedrop/files/$file_input_name");
  972.                   unlink($_FILES['file_input']['tmp_name']);
  973.                  
  974.                  
  975.                   $fp_file_txt = fopen("$maj_data_directory/items/$maj_req_entry/filedrop/{$file_input_name}.txt", "w");
  976.                   fwrite($fp_file_txt, "$maj_data_directory/items/$maj_req_entry/filedrop/files/$file_input_name");
  977.                   fclose($fp_file_txt);
  978.               } else {
  979.                   unlink($_FILES['file_input']['tmp_name']);
  980.               }
  981.           } else {
  982.               unlink($_FILES['file_input']['tmp_name']);
  983.           }
  984.       } else {
  985.           unlink($_FILES['file_input']['tmp_name']);
  986.       }
  987.   }
  988.  
  989.   if (file_exists("$maj_data_directory/wiki.txt")) {
  990.       $old_title = file_get_contents("$maj_data_directory/items/$maj_req_entry/title.old");
  991.       $old_body = file_get_contents("$maj_data_directory/items/$maj_req_entry/body.old");
  992.      
  993.       if (($old_title != $title_write_content) or ($old_body != $body_write_content)) {
  994.           if (!file_exists("$maj_data_directory/items/$maj_req_entry/wiki")) {
  995.               mkdir("$maj_data_directory/items/$maj_req_entry/wiki");
  996.           }
  997.          
  998.           if (!file_exists("$maj_data_directory/items/$maj_req_entry/wiki/delta")) {
  999.               mkdir("$maj_data_directory/items/$maj_req_entry/wiki/delta");
  1000.           }
  1001.          
  1002.           $ddate = date("YmdHis", time() + $maj_offset);
  1003.          
  1004.           if (!file_exists("$maj_data_directory/items/$maj_req_entry/wiki/delta/$ddate")) {
  1005.               mkdir("$maj_data_directory/items/$maj_req_entry/wiki/delta/$ddate");
  1006.           }
  1007.          
  1008.           $new_body = fopen("$maj_data_directory/items/$maj_req_entry/wiki/delta/$ddate/body.txt", "w");
  1009.           fwrite($new_body, $body_write_content);
  1010.           fclose($new_body);
  1011.          
  1012.           $new_title = fopen("$maj_data_directory/items/$maj_req_entry/wiki/delta/$ddate/title.txt", "w");
  1013.           fwrite($new_title, $title_write_content);
  1014.           fclose($new_title);
  1015.          
  1016.           copy("$maj_data_directory/items/$maj_req_entry/title.txt", "$maj_data_directory/items/$maj_req_entry/wiki/delta/$ddate/ptitle.txt");
  1017.           copy("$maj_data_directory/items/$maj_req_entry/body.txt", "$maj_data_directory/items/$maj_req_entry/wiki/delta/$ddate/prev.txt");
  1018.           copy("$maj_data_directory/items/$maj_req_entry/date.txt", "$maj_data_directory/items/$maj_req_entry/wiki/delta/$ddate/date.txt");
  1019.          
  1020.           if (file_exists("$maj_data_directory/items/$maj_req_entry/contrib.txt")) {
  1021.               copy("$maj_data_directory/items/$maj_req_entry/contrib.txt", "$maj_data_directory/items/$maj_req_entry/wiki/delta/$ddate/contrib.txt");
  1022.           }
  1023.          
  1024.           $open_editor_file = fopen("$maj_data_directory/items/$maj_req_entry/wiki/delta/$ddate/editor.txt", "w");
  1025.           fwrite($open_editor_file, $maj_logged_in_username);
  1026.           fclose($open_editor_file);
  1027.       }
  1028.   }
  1029.  
  1030.   $open_title_file = fopen($title_file, "w");
  1031.   fwrite($open_title_file, $title_write_content);
  1032.   fclose($open_title_file);
  1033.  
  1034.   $open_body_file = fopen($body_file, "w");
  1035.   fwrite($open_body_file, $body_write_content);
  1036.   fclose($open_body_file);
  1037.  
  1038.   if (file_exists("$maj_data_directory/wiki.txt") and (file_exists("$maj_data_directory/items/$maj_req_entry/edit.txt") or (file_get_contents("$maj_data_directory/items/$maj_req_entry/author.txt") == $maj_logged_in_username))) {
  1039.       $open_contrib_file = fopen("$maj_data_directory/items/$maj_req_entry/contrib.txt", "w");
  1040.       fwrite($open_contrib_file, $maj_logged_in_username);
  1041.       fclose($open_contrib_file);
  1042.   }
  1043.  
  1044.   if ($maj_logged_in_username == $maj_admin_username) {
  1045.       $sticky_sem = 'data/sticky/' . $maj_req_entry;
  1046.      
  1047.       if (isset($_POST['sticky']) and !empty($_POST['sticky']) and ($_POST['sticky'] == "on")) {
  1048.           if (!file_exists("$maj_data_directory/sticky")) {
  1049.               mkdir("$maj_data_directory/sticky");
  1050.           }
  1051.           if (!file_exists($sticky_sem)) {
  1052.               touch($sticky_sem);
  1053.           }
  1054.       }
  1055.       if (!isset($_POST['sticky']) or empty($_POST['sticky'])) {
  1056.           if (file_exists($sticky_sem)) {
  1057.               unlink($sticky_sem);
  1058.           }
  1059.       }
  1060.      
  1061.       $display_sem = "$maj_data_directory/items/$maj_req_entry/cat.txt";
  1062.      
  1063.       if (isset($_POST['display']) and !empty($_POST['display']) and ($_POST['display'] == "on")) {
  1064.           if (!file_exists($display_sem)) {
  1065.               touch($display_sem);
  1066.           }
  1067.       }
  1068.       if (!isset($_POST['display']) or empty($_POST['display'])) {
  1069.           if (file_exists($display_sem)) {
  1070.               unlink($display_sem);
  1071.           }
  1072.       }
  1073.      
  1074.       $private_sem = "$maj_data_directory/items/$maj_req_entry/private.txt";
  1075.      
  1076.       if (isset($_POST['private']) and !empty($_POST['private']) and ($_POST['private'] == "on")) {
  1077.           if (!file_exists($private_sem)) {
  1078.               touch($private_sem);
  1079.           }
  1080.       }
  1081.       if (!isset($_POST['private']) or empty($_POST['private'])) {
  1082.           if (file_exists($private_sem)) {
  1083.               unlink($private_sem);
  1084.           }
  1085.       }
  1086.      
  1087.       $member_sem = "$maj_data_directory/items/$maj_req_entry/member.txt";
  1088.      
  1089.       if (isset($_POST['member']) and !empty($_POST['member']) and ($_POST['member'] == "on")) {
  1090.           if (!file_exists($member_sem)) {
  1091.               touch($member_sem);
  1092.           }
  1093.       }
  1094.       if (!isset($_POST['member']) or empty($_POST['member'])) {
  1095.           if (file_exists($member_sem)) {
  1096.               unlink($member_sem);
  1097.           }
  1098.       }
  1099.      
  1100.       $edit_sem = "$maj_data_directory/items/$maj_req_entry/edit.txt";
  1101.      
  1102.       if (isset($_POST['edit']) and !empty($_POST['edit']) and ($_POST['edit'] == "on")) {
  1103.           if (!file_exists($edit_sem)) {
  1104.               touch($edit_sem);
  1105.           }
  1106.       }
  1107.      
  1108.       if (!isset($_POST['edit']) or empty($_POST['edit'])) {
  1109.           if (file_exists($edit_sem)) {
  1110.               unlink($edit_sem);
  1111.           }
  1112.       }
  1113.      
  1114.       if (isset($_POST['lock']) and !empty($_POST['lock']) and ($_POST['lock'] == "on")) {
  1115.           if (file_exists("$maj_data_directory/items/$maj_req_entry/edit.txt")) {
  1116.               unlink("$maj_data_directory/items/$maj_req_entry/edit.txt");
  1117.           }
  1118.          
  1119.           if (!file_exists("$maj_data_directory/items/$maj_req_entry/lock.txt")) {
  1120.               touch("$maj_data_directory/items/$maj_req_entry/lock.txt");
  1121.           }
  1122.       }
  1123.       if (!isset($_POST['lock']) or empty($_POST['lock'])) {
  1124.           if (file_exists("$maj_data_directory/items/$maj_req_entry/lock.txt")) {
  1125.               unlink("$maj_data_directory/items/$maj_req_entry/lock.txt");
  1126.           }
  1127.       }
  1128.  
  1129.       $xauthor_sem = "$maj_data_directory/items/$maj_req_entry/xauthor.txt";
  1130.      
  1131.       if (isset($_POST['xauthor']) and !empty($_POST['xauthor']) and ($_POST['xauthor'] == "on")) {
  1132.           if (!file_exists($xauthor_sem)) {
  1133.               touch($xauthor_sem);
  1134.           }
  1135.       }
  1136.      
  1137.       if (!isset($_POST['xauthor']) or empty($_POST['xauthor'])) {
  1138.           if (file_exists($xauthor_sem)) {
  1139.               unlink($xauthor_sem);
  1140.           }
  1141.       }
  1142.      
  1143.       $passwd_file = "$maj_data_directory/items/$maj_req_entry/passwd.txt";
  1144.      
  1145.       if (isset($_POST['passwd']) and !empty($_POST['passwd'])) {
  1146.           $fp_passwd_txt = fopen("$passwd_file", "w");
  1147.           $passwd_crypt = sha1($_POST['passwd']);
  1148.           $passwd_crypt = md5($passwd_crypt);
  1149.           $passwd_crypt = crypt($passwd_crypt, $passwd_crypt);
  1150.           fwrite($fp_passwd_txt, $passwd_crypt);
  1151.           fclose($fp_passwd_txt);
  1152.       }
  1153.      
  1154.       if (!isset($_POST['passwd']) or empty($_POST['passwd'])) {
  1155.           if (file_exists($passwd_file)) {
  1156.               unlink($passwd_file);
  1157.           }
  1158.       }
  1159.      
  1160.       if (isset($_POST['maxlines']) and !empty($_POST['maxlines']) and is_numeric($_POST['maxlines'])) {
  1161.           $fp_maxlines_txt = fopen("$maj_data_directory/items/$maj_req_entry/maxlines.txt", "w");
  1162.           fwrite($fp_maxlines_txt, $_POST['maxlines']);
  1163.           fclose($fp_maxlines_txt);
  1164.       }
  1165.      
  1166.       if (!isset($_POST['maxlines']) or empty($_POST['maxlines'])) {
  1167.           if (file_exists("$maj_data_directory/items/$maj_req_entry/maxlines.txt")) {
  1168.               unlink("$maj_data_directory/items/$maj_req_entry/maxlines.txt");
  1169.           }
  1170.       }
  1171.   }
  1172.  
  1173.   if (($maj_logged_in_username == $maj_admin_username) or file_exists("$maj_data_directory/members/active/$maj_logged_in_username/bb-adm.txt")) {
  1174.       $xtitle_sem = "$maj_data_directory/items/$maj_req_entry/xtitle.txt";
  1175.      
  1176.       if (isset($_POST['xtitle']) and !empty($_POST['xtitle']) and ($_POST['xtitle'] == "on")) {
  1177.           if (!file_exists($xtitle_sem)) {
  1178.               touch($xtitle_sem);
  1179.           }
  1180.       }
  1181.      
  1182.       if (!isset($_POST['xtitle']) or empty($_POST['xtitle'])) {
  1183.           if (file_exists($xtitle_sem)) {
  1184.               unlink($xtitle_sem);
  1185.           }
  1186.       }
  1187.  
  1188.       $xdate_sem = "$maj_data_directory/items/$maj_req_entry/xdate.txt";
  1189.      
  1190.       if (isset($_POST['xdate']) and !empty($_POST['xdate']) and ($_POST['xdate'] == "on")) {
  1191.           if (!file_exists($xdate_sem)) {
  1192.               touch($xdate_sem);
  1193.           }
  1194.       }
  1195.      
  1196.       if (!isset($_POST['xdate']) or empty($_POST['xdate'])) {
  1197.           if (file_exists($xdate_sem)) {
  1198.               unlink($xdate_sem);
  1199.           }
  1200.       }
  1201.  
  1202.  
  1203.       $xavatar_sem = "$maj_data_directory/items/$maj_req_entry/xavatar.txt";
  1204.      
  1205.       if (isset($_POST['xavatar']) and !empty($_POST['xavatar']) and ($_POST['xavatar'] == "on")) {
  1206.           if (!file_exists($xavatar_sem)) {
  1207.               touch($xavatar_sem);
  1208.           }
  1209.       }
  1210.      
  1211.       if (!isset($_POST['xavatar']) or empty($_POST['xavatar'])) {
  1212.           if (file_exists($xavatar_sem)) {
  1213.               unlink($xavatar_sem);
  1214.           }
  1215.       }
  1216.      
  1217.       $lastmod_sem = "$maj_data_directory/items/$maj_req_entry/lastmod.txt";
  1218.      
  1219.       if (isset($_POST['lastmod']) and !empty($_POST['lastmod']) and ($_POST['lastmod'] == "on")) {
  1220.           if (!file_exists($lastmod_sem)) {
  1221.               touch($lastmod_sem);
  1222.           }
  1223.       }
  1224.      
  1225.       if (!isset($_POST['lastmod']) or empty($_POST['lastmod'])) {
  1226.           if (file_exists($lastmod_sem)) {
  1227.               unlink($lastmod_sem);
  1228.           }
  1229.       }
  1230.  
  1231.  
  1232.       $gl_sem = "$maj_data_directory/items/$maj_req_entry/gl.txt";
  1233.      
  1234.       if (isset($_POST['gl']) and !empty($_POST['gl']) and ($_POST['gl'] == "on")) {
  1235.           if (!file_exists($gl_sem)) {
  1236.               touch($gl_sem);
  1237.           }
  1238.       }
  1239.      
  1240.       if (!isset($_POST['gl']) or empty($_POST['gl'])) {
  1241.           if (file_exists($gl_sem)) {
  1242.               unlink($gl_sem);
  1243.           }
  1244.       }
  1245.  
  1246.       $fb_sem = "$maj_data_directory/items/$maj_req_entry/fb.txt";
  1247.      
  1248.       if (isset($_POST['fb']) and !empty($_POST['fb']) and ($_POST['fb'] == "on")) {
  1249.           if (!file_exists($fb_sem)) {
  1250.               touch($fb_sem);
  1251.           }
  1252.       }
  1253.      
  1254.       if (!isset($_POST['fb']) or empty($_POST['fb'])) {
  1255.           if (file_exists($fb_sem)) {
  1256.               unlink($fb_sem);
  1257.           }
  1258.       }
  1259.  
  1260.         if (isset($_POST['auto_album']) and !empty($_POST['auto_album']) and ($_POST['auto_album'] == "on")) {
  1261.        
  1262.                 if (!file_exists("$maj_data_directory/items/$maj_req_entry/auto-album.txt")) {
  1263.                         touch("$maj_data_directory/items/$maj_req_entry/auto-album.txt");
  1264.                 }
  1265.         }
  1266.        
  1267.         if (!isset($_POST['auto_album']) or empty($_POST['auto_album'])) {
  1268.        
  1269.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/auto-album.txt")) {
  1270.                         unlink("$maj_data_directory/items/$maj_req_entry/auto-album.txt");
  1271.                 }
  1272.         }
  1273.  
  1274.         if (isset($_POST['auto_filedrop']) and !empty($_POST['auto_filedrop']) and ($_POST['auto_filedrop'] == "on")) {
  1275.        
  1276.                 if (!file_exists("$maj_data_directory/items/$maj_req_entry/auto-filedrop.txt")) {
  1277.                         touch("$maj_data_directory/items/$maj_req_entry/auto-filedrop.txt");
  1278.                 }
  1279.         }
  1280.        
  1281.         if (!isset($_POST['auto_filedrop']) or empty($_POST['auto_filedrop'])) {
  1282.        
  1283.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/auto-filedrop.txt")) {
  1284.                         unlink("$maj_data_directory/items/$maj_req_entry/auto-filedrop.txt");
  1285.                 }
  1286.         }
  1287.  
  1288.         if (isset($_POST['sort_filedrop_new']) and !empty($_POST['sort_filedrop_new']) and ($_POST['sort_filedrop_new'] == "on") and isset($_POST['sort_filedrop_old']) and !empty($_POST['sort_filedrop_old']) and ($_POST['sort_filedrop_old'] == "on")) {
  1289.  
  1290.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/sort/new-on-top.txt")) {
  1291.                         unset($_POST['sort_filedrop_new']);
  1292.                 }
  1293.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/sort/old-on-top.txt")) {
  1294.                         unset($_POST['sort_filedrop_old']);
  1295.                 }
  1296.         }
  1297.  
  1298.         if (isset($_POST['sort_filedrop_new']) and !empty($_POST['sort_filedrop_new']) and ($_POST['sort_filedrop_new'] == "on")) {
  1299.        
  1300.                 if (!file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/sort/new-on-top.txt")) {
  1301.                         mkdir("$maj_data_directory/items/$maj_req_entry/filedrop/sort",0700,true);             
  1302.                         touch("$maj_data_directory/items/$maj_req_entry/filedrop/sort/new-on-top.txt");
  1303.                 }
  1304.  
  1305.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/sort/old-on-top.txt")) {
  1306.                         unlink("$maj_data_directory/items/$maj_req_entry/filedrop/sort/old-on-top.txt");
  1307.                 }
  1308.         }
  1309.  
  1310.         if (!isset($_POST['sort_filedrop_new']) or empty($_POST['sort_filedrop_new'])) {
  1311.        
  1312.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/sort/new-on-top.txt")) {
  1313.                         unlink("$maj_data_directory/items/$maj_req_entry/filedrop/sort/new-on-top.txt");
  1314.                 }
  1315.         }
  1316.  
  1317.         if (isset($_POST['sort_filedrop_old']) and !empty($_POST['sort_filedrop_old']) and ($_POST['sort_filedrop_old'] == "on")) {
  1318.        
  1319.                 if (!file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/sort/old-on-top.txt")) {
  1320.                         mkdir("$maj_data_directory/items/$maj_req_entry/filedrop/sort",0700,true);             
  1321.                         touch("$maj_data_directory/items/$maj_req_entry/filedrop/sort/old-on-top.txt");
  1322.                 }
  1323.  
  1324.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/sort/new-on-top.txt")) {
  1325.                         unlink("$maj_data_directory/items/$maj_req_entry/filedrop/sort/new-on-top.txt");
  1326.                 }
  1327.         }
  1328.        
  1329.         if (!isset($_POST['sort_filedrop_old']) or empty($_POST['sort_filedrop_old'])) {
  1330.        
  1331.                 if (file_exists("$maj_data_directory/items/$maj_req_entry/filedrop/sort/old-on-top.txt")) {
  1332.                         unlink("$maj_data_directory/items/$maj_req_entry/filedrop/sort/old-on-top.txt");
  1333.                 }
  1334.         }
  1335.   }  
  1336.  
  1337.   if (file_exists("$maj_data_directory/items/$maj_req_entry/title.old")) {
  1338.       unlink("$maj_data_directory/items/$maj_req_entry/title.old");
  1339.   }
  1340.  
  1341.   if (file_exists("$maj_data_directory/items/$maj_req_entry/body.old")) {
  1342.       unlink("$maj_data_directory/items/$maj_req_entry/body.old");
  1343.   }
  1344.  
  1345.   if (file_exists("$maj_data_directory/ping.txt")) {
  1346.       $ping_urls = explode("|", file_get_contents("$maj_data_directory/ping.txt"));
  1347.      
  1348.       foreach ($ping_urls as $ping_url) {
  1349.           $ping = file_get_contents($ping_url);
  1350.           unset($ping);
  1351.       }
  1352.   }
  1353. ?>
  1354.  
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