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

  1. <?php
  2.  
  3. require("core.php");
  4.  
  5. if (file_exists("data/lite.txt")) {
  6.         exit();
  7. }
  8.  
  9. if (!file_exists("data/bb.txt")) {
  10.         exit();
  11. }
  12.  
  13. if (!isset($_REQUEST['id']) or empty($_REQUEST['id'])) {
  14.         exit();
  15. }
  16.  
  17. if (isset($_REQUEST['id']) and ($_REQUEST['id'] != $maj_admin_username) and !file_exists("data/members/active/{$_REQUEST['id']}") and ($_REQUEST['id'] != "all")) {
  18.         exit();
  19. }
  20.  
  21. if (!isset($maj_logged_in_username) and file_exists("data/nomem.txt")) {
  22.         header("Location: login.php");
  23. }
  24.  
  25. $id = $_REQUEST['id'];
  26.  
  27. $maj_server = sha1($_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']));
  28.  
  29. if ($maj_admin_username != $id) {
  30.         $member_firstname = file_get_contents("data/members/active/$id/firstname.txt");
  31.         $member_lastname = file_get_contents("data/members/active/$id/lastname.txt");
  32. }
  33.  
  34. if ($id == "all") {
  35.         echo "<title>Members</title>";
  36. }
  37. else {
  38.         if ($id == $maj_admin_username) {
  39.                 $author = file_get_contents("data/author.txt");
  40.                 echo "<title>$author</title>";
  41.         }
  42.         else {
  43.                 echo "<title>$member_firstname $member_lastname</title>";
  44.         }
  45. }
  46.  
  47. include("css.php");
  48.  
  49. echo "\n<style>body { margin: {$maj_wspace}px; } .input { width: 200px; } .click { width: 100px; }</style>\n";
  50.  
  51. if ($id == "all") {
  52.  
  53.         if (isset($_POST['edit']) and !empty($_POST['edit']) and ($_POST['edit'] == "on") and isset($_POST['username']) and !empty($_POST['username']) and file_exists("data/members/active/{$_POST['username']}") and isset($maj_logged_in_username) and !empty($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username)) {
  54.        
  55.                 if (isset($_POST['rw']) and !empty($_POST['rw']) and ($_POST['rw'] == "on") and !file_exists("data/members/active/{$_POST['username']}/bb-rw.txt")) {
  56.                         touch("data/members/active/{$_POST['username']}/bb-rw.txt");
  57.                 }
  58.        
  59.                 if ((!isset($_POST['rw']) or empty($_POST['rw'])) and file_exists("data/members/active/{$_POST['username']}/bb-rw.txt")) {
  60.                         unlink("data/members/active/{$_POST['username']}/bb-rw.txt");
  61.                 }
  62.        
  63.                 if (isset($_POST['ul']) and !empty($_POST['ul']) and ($_POST['ul'] == "on") and !file_exists("data/members/active/{$_POST['username']}/bb-ul.txt")) {
  64.                         touch("data/members/active/{$_POST['username']}/bb-ul.txt");
  65.                 }
  66.        
  67.                 if ((!isset($_POST['ul']) or empty($_POST['ul'])) and file_exists("data/members/active/{$_POST['username']}/bb-ul.txt")) {
  68.                         unlink("data/members/active/{$_POST['username']}/bb-ul.txt");
  69.                 }
  70.  
  71.                 if (isset($_POST['adm']) and !empty($_POST['adm']) and ($_POST['adm'] == "on") and !file_exists("data/members/active/{$_POST['username']}/bb-adm.txt")) {
  72.                         touch("data/members/active/{$_POST['username']}/bb-adm.txt");
  73.                 }
  74.        
  75.                 if ((!isset($_POST['adm']) or empty($_POST['adm'])) and file_exists("data/members/active/{$_POST['username']}/bb-adm.txt")) {
  76.                         unlink("data/members/active/{$_POST['username']}/bb-adm.txt");
  77.                 }
  78.                        
  79.                 if (isset($_POST['noml']) and !empty($_POST['noml']) and ($_POST['noml'] == "on") and !file_exists("data/members/active/{$_POST['username']}/bb-noml.txt")) {
  80.                         touch("data/members/active/{$_POST['username']}/bb-noml.txt");
  81.                 }
  82.        
  83.                 if ((!isset($_POST['noml']) or empty($_POST['noml'])) and file_exists("data/members/active/{$_POST['username']}/bb-noml.txt")) {
  84.                         unlink("data/members/active/{$_POST['username']}/bb-noml.txt");
  85.                 }
  86.        
  87.                 if (isset($_POST['lockout']) and !empty($_POST['lockout']) and ($_POST['lockout'] == "on")) {
  88.  
  89.                         if (!file_exists("data/members/active/{$_POST['username']}/bb-lockout.txt")) {
  90.                                 touch("data/members/active/{$_POST['username']}/bb-lockout.txt");
  91.                         }
  92.                        
  93.                         if (file_exists("data/members/active/{$_POST['username']}/bb-noml.txt")) {
  94.                                 touch("data/members/active/{$_POST['username']}/bb-noml2.txt");
  95.                         }
  96.                        
  97.                         if (!file_exists("data/members/active/{$_POST['username']}/bb-noml.txt")) {
  98.                                 touch("data/members/active/{$_POST['username']}/bb-noml.txt");
  99.                         }
  100.                 }
  101.        
  102.                 if ((!isset($_POST['lockout']) or empty($_POST['lockout'])) and file_exists("data/members/active/{$_POST['username']}/bb-lockout.txt")) {
  103.  
  104.                         unlink("data/members/active/{$_POST['username']}/bb-lockout.txt");
  105.                        
  106.                         if (file_exists("data/members/active/{$_POST['username']}/bb-noml.txt")) {
  107.                                 unlink("data/members/active/{$_POST['username']}/bb-noml.txt");
  108.                         }
  109.  
  110.                         if (file_exists("data/members/active/{$_POST['username']}/bb-noml2.txt")) {
  111.                                 rename("data/members/active/{$_POST['username']}/bb-noml2.txt","data/members/active/{$_POST['username']}/bb-noml.txt");                
  112.                         }
  113.                 }
  114.  
  115.                 if (isset($_POST['rank']) and !empty($_POST['rank']) and (mb_strtolower($_POST['rank']) != "member")) {
  116.                         $rank_file = "data/members/active/{$_POST['username']}/rank.txt";
  117.                         $fp_rank_txt = fopen($rank_file,"w");
  118.                         fwrite($fp_rank_txt,$_POST['rank']);
  119.                         fclose($fp_rank_txt);
  120.                 }
  121.        
  122.                 if ((!isset($_POST['rank']) or empty($_POST['rank'])) and file_exists("data/members/active/{$_POST['username']}/rank.txt")) {
  123.                         unlink("data/members/active/{$_POST['username']}/rank.txt");
  124.                 }
  125.        
  126.                 if (isset($_POST['category']) and !empty($_POST['category']) and (mb_strtolower($_POST['category']) != "none") and (file_exists("data/categories/{$_POST['category']}"))) {
  127.                         $category_file = "data/members/active/{$_POST['username']}/category.txt";
  128.                         $fp_category_txt = fopen($category_file,"w");
  129.                         fwrite($fp_category_txt,$_POST['category']);
  130.                         fclose($fp_category_txt);
  131.                 }
  132.        
  133.                 if ((!isset($_POST['category']) or empty($_POST['category']) or ($_POST['category'] == "none")) and file_exists("data/members/active/{$_POST['username']}/category.txt")) {
  134.                         unlink("data/members/active/{$_POST['username']}/category.txt");
  135.                 }
  136.        
  137.                 if (file_exists("data/members/active/{$_POST['username']}/bb-ul.txt") and !file_exists("data/members/active/{$_POST['username']}/bb-rw.txt") and !file_exists("data/members/active/{$_POST['username']}/category.txt")) {
  138.                         unlink("data/members/active/{$_POST['username']}/bb-ul.txt");
  139.                 }
  140.  
  141.                 if (file_exists("data/members/active/{$_POST['username']}/bb-adm.txt") and !file_exists("data/members/active/{$_POST['username']}/bb-rw.txt") and !file_exists("data/members/active/{$_POST['username']}/category.txt")) {
  142.                         unlink("data/members/active/{$_POST['username']}/bb-adm.txt");
  143.                 }
  144.                        
  145.                 if (isset($_POST['del']) and !empty($_POST['del']) and ($_POST['del'] == "on")) {
  146.                
  147.                         rmdirr("data/members/active/{$_POST['username']}");
  148.                 }
  149.         }
  150.  
  151. ?>
  152.  
  153. <table border="0" cellspacing="0" cellpadding="0" bgcolor="#CCCCCC" style="background-color: transparent;"><tr><td><div class="panel_title">Members</div><div class="panel_entry_body"><table border="0" cellspacing="1" cellpadding="2" bgcolor="#cccccc">
  154. <tr><td bgcolor="#eeeeee" align="center">status</td><td bgcolor="#eeeeee" align="center">username</td><?php if (isset($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username)) { echo "<td bgcolor=\"#eeeeee\" align=\"center\">real name</td>"; } ?><td bgcolor="#eeeeee" align="center">member since</td><td bgcolor="#eeeeee" align="center">logins</td><td bgcolor="#eeeeee" align="center">posts</td><?php
  155.  
  156. if (isset($maj_logged_in_username) and !empty($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username)) {
  157.         echo '<td bgcolor="#eeeeee" align="center">rw</td><td bgcolor="#eeeeee" align="center">ul</td><td bgcolor="#eeeeee" align="center">adm</td><td bgcolor="#eeeeee" align="center">noml</td><td bgcolor="#eeeeee" align="center">lock</td><td bgcolor="#eeeeee" align="center">del</td><td bgcolor="#eeeeee" align="center">rank</td><td bgcolor="#eeeeee" align="center">category</td><td bgcolor="#eeeeee" align="center">action</td>';
  158. }
  159.  
  160. ?></tr>
  161.  
  162. <?php
  163.  
  164. $show_member_list[] = $maj_admin_username;
  165.  
  166. if (file_exists("data/members/active")) {
  167.         if ($dh_member_list = opendir("data/members/active")) {
  168.                 while (($entry_member_list = readdir($dh_member_list)) !== false) {
  169.                         if ($entry_member_list != "." && $entry_member_list != "..") {
  170.                                 $show_member_list[] = $entry_member_list;
  171.                         }
  172.                 }
  173.                 closedir($dh_member_list);
  174.         }
  175.  
  176.         sort($show_member_list);
  177.  
  178.         $count_member_list = count($show_member_list);
  179.        
  180.         if ($count_member_list > 0) {
  181.  
  182.                 $sess_dir = session_save_path();
  183.  
  184.                 if (file_exists("data/bb-idle.txt")) {
  185.                         $idle = file_get_contents("data/bb-idle.txt");
  186.                 }
  187.                 else {
  188.                         $idle = 15;
  189.                 }
  190.  
  191.                 foreach ($show_member_list as $member_list_entry) {
  192.  
  193.                         /* remove the lines below in version 3.0 */
  194.                         if (file_exists("data/members/active/$member_list_entry/rw.txt")) {
  195.                                 rename("data/members/active/$member_list_entry/rw.txt","data/members/active/$member_list_entry/bb-rw.txt");
  196.                         }
  197.                         if (file_exists("data/members/active/$member_list_entry/vacation.txt")) {
  198.                                 rename("data/members/active/$member_list_entry/vacation.txt","data/members/active/$member_list_entry/bb-vacation.txt");
  199.                         }
  200.                         if (file_exists("data/members/active/$member_list_entry/ul.txt")) {
  201.                                 rename("data/members/active/$member_list_entry/ul.txt","data/members/active/$member_list_entry/bb-ul.txt");
  202.                         }
  203.                         if (file_exists("data/members/active/$member_list_entry/noml.txt")) {
  204.                                 rename("data/members/active/$member_list_entry/noml.txt","data/members/active/$member_list_entry/bb-noml.txt");
  205.                         }
  206.                         if (file_exists("data/members/active/$member_list_entry/noml2.txt")) {
  207.                                 rename("data/members/active/$member_list_entry/noml2.txt","data/members/active/$member_list_entry/bb-noml2.txt");
  208.                         }
  209.  
  210.                         if (file_exists("data/members/active/$member_list_entry/resetx.txt")) {
  211.                                 rename("data/members/active/$member_list_entry/resetx.txt","data/members/active/$member_list_entry/bb-resetx.txt");
  212.                         }
  213.                         if (file_exists("data/members/active/$member_list_entry/resetl.txt")) {
  214.                                 rename("data/members/active/$member_list_entry/resetl.txt","data/members/active/$member_list_entry/bb-resetl.txt");
  215.                         }
  216.                         /* remove the lines above in version 3.0 */
  217.  
  218.                         echo "<tr><td bgcolor=#ffffff align=center>";
  219.  
  220.                         $sess_count = 0;
  221.  
  222.                         if (is_dir($sess_dir)) {
  223.                                 if ($sess_dh = opendir($sess_dir)) {
  224.                                         while (($sess_file = readdir($sess_dh)) !== false) {
  225.                                                 if ($sess_file != '.' && $sess_file != '..') {
  226.                                                         if ((time() - fileatime("$sess_dir/$sess_file")) < ($idle * 60)) {
  227.                        
  228.                                                                 $sess_content = file_get_contents("$sess_dir/$sess_file");
  229.                                                
  230.                                                                 if (preg_match("/logged_in/",$sess_content) and preg_match("/$maj_server/",$sess_content) and preg_match("/$member_list_entry/",$sess_content)) {
  231.                                                                                 $sess_count++;
  232.                                                                 }
  233.                                                         }
  234.                                                 }
  235.                                         }
  236.                                         closedir($sess_dh);
  237.                                 }
  238.                         }
  239.                        
  240.                         if ($sess_count > 0) {
  241.                                 echo "<img src=\"images/smileys/smile.png\">";
  242.                         }
  243.                         else {
  244.                                 echo "<img src=\"images/smileys/offline.png\">";
  245.                         }
  246.  
  247.                         $sess_count = 0;
  248.  
  249.                         echo "</td><td bgcolor=#ffffff><a href=\"member.php?id=$member_list_entry\">$member_list_entry</a></td>";
  250.  
  251.                         if (isset($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username)) {
  252.                        
  253.                                 if (file_exists("data/members/active/$member_list_entry")) {
  254.                                         $member_name = file_get_contents("data/members/active/$member_list_entry/firstname.txt") . " " . file_get_contents("data/members/active/$member_list_entry/lastname.txt");
  255.                                 }
  256.                                
  257.                                 if ($member_list_entry == $maj_admin_username) {
  258.                                         $member_name = file_get_contents("data/author.txt");
  259.                                 }
  260.                                                
  261.                                 echo "<td bgcolor=#ffffff>$member_name</td>";
  262.                         }
  263.                        
  264.                         if ($member_list_entry == $maj_admin_username or (file_exists("data/members/active/$member_list_entry") and !file_exists("data/members/active/$member_list_entry/timestamp.txt"))) {
  265.                                 echo "<td bgcolor=#ffffff align=center><nobr><code>-</code></nobr></td>";
  266.                         }
  267.  
  268.                         if (file_exists("data/members/active/$member_list_entry") and ($member_list_entry != $maj_admin_username) and file_exists("data/members/active/$member_list_entry/timestamp.txt")) {
  269.                                 $joined = file_get_contents("data/members/active/$member_list_entry/timestamp.txt");
  270.                                 $joined_year = mb_substr($joined,0,4);
  271.                                 $joined_month = mb_substr($joined,4,2);
  272.                                 $joined_day = mb_substr($joined,6,2);
  273.                                 $member_since = date("d M Y", mktime(0, 0, 0, $joined_month, $joined_day, $joined_year));
  274.                                 echo "<td bgcolor=#ffffff align=center><nobr><code>$member_since</code></nobr></td>";
  275.                         }
  276.  
  277.                         if (($maj_admin_username == $member_list_entry) and file_exists("data/bb-logins.txt")) {
  278.                                 $logins = file_get_contents("data/bb-logins.txt");
  279.                                 echo "<td bgcolor=#ffffff align=right><code>$logins</code></td>";
  280.                         }
  281.                         elseif (file_exists("data/members/active/$member_list_entry") and file_exists("data/members/active/$member_list_entry/bb-logins.txt")) {
  282.                                 $logins = file_get_contents("data/members/active/$member_list_entry/bb-logins.txt");
  283.                                 echo "<td bgcolor=#ffffff align=right><code>$logins</code></td>";
  284.                         }
  285.  
  286.                         if (($maj_admin_username == $member_list_entry) and !file_exists("data/bb-logins.txt")) {
  287.                                 echo "<td bgcolor=#ffffff align=right><code>0</code></td>";
  288.                         }
  289.                         elseif (file_exists("data/members/active/$member_list_entry") and !file_exists("data/members/active/$member_list_entry/bb-logins.txt")) {
  290.                                 echo "<td bgcolor=#ffffff align=right><code>0</code></td>";
  291.                         }
  292.  
  293.                         if ($dh_posts_all = opendir("data/items")) {
  294.  
  295.                                 while (($member_posts = readdir($dh_posts_all)) !== false) {
  296.  
  297.                                         if ($member_posts != "." && $member_posts != "..") {
  298.  
  299.                                                 if (file_exists("data/items/$member_posts/private.txt") and (!isset($maj_logged_in_username) or ($maj_logged_in_username != $maj_admin_username))) {
  300.                                                         continue;
  301.                                                 }
  302.  
  303.                                                 $private_cat = "0";
  304.                        
  305.                                                 if (file_exists("data/items/$member_posts/categories")) {
  306.                                        
  307.                                                         if ($dh_member_posts_cat2 = opendir("data/items/$member_posts/categories")) {
  308.                                                
  309.                                                                 while (($member_posts_cat2 = readdir($dh_member_posts_cat2)) !== false) {
  310.                                                
  311.                                                                         if ($member_posts_cat2 != "." && $member_posts_cat2 != "..") {
  312.  
  313.                                                                                 if (file_exists("data/categories/$member_posts_cat2/private.txt")) {
  314.                                                                                         $private_cat = $private_cat + 1;
  315.                                                                                 }
  316.                                                                         }
  317.                                                                 }
  318.                                                                 closedir($dh_member_posts_cat2);
  319.                                                         }
  320.                                                 }
  321.                
  322.                                                 if (($private_cat > 0) and (!isset($maj_logged_in_username) or ($maj_logged_in_username != $maj_admin_username)) and !file_exists("data/items/$member_posts/cat.txt")) {
  323.                                                         continue;
  324.                                                 }
  325.                        
  326.                                                 if (file_exists("data/members/active/$member_list_entry") and file_exists("data/bb.txt")) {
  327.        
  328.                                                         if (file_exists("data/items/$member_posts/author.txt") and (file_get_contents("data/items/$member_posts/author.txt") == $member_list_entry)) {
  329.                                                                 $items_posts[] = $member_posts;
  330.                                                         }
  331.                                                 }
  332.                                                 else {
  333.                                                         if (!file_exists("data/members/active/$member_list_entry") and ($maj_admin_username == $member_list_entry) and file_exists("data/bb.txt")) {
  334.  
  335.                                                                 if (file_exists("data/items/$member_posts/author.txt") and (file_get_contents("data/items/$member_posts/author.txt") == $member_list_entry)) {
  336.                                                                         $items_posts[] = $member_posts;
  337.                                                                 }
  338.                                                         }
  339.                                                 }
  340.                                         }
  341.                                 }
  342.                                 closedir($dh_posts_all);
  343.                         }
  344.                        
  345.                         $posts = count($items_posts);
  346.  
  347.                         echo "<td bgcolor=#ffffff align=right><code>$posts</code></td>";
  348.  
  349.                         unset($items_posts);
  350.  
  351.                         if (isset($maj_logged_in_username) and !empty($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username)) {
  352.  
  353.                                 if (($member_list_entry != $maj_admin_username) and file_exists("data/members/active/$member_list_entry")) {
  354.  
  355.                                         echo "<form action=member.php method=post><input type=hidden name=id value=all><input type=hidden name=edit value=on><input type=hidden name=username value=$member_list_entry>";
  356.                                         echo "<td bgcolor=#ffffff align=center><input type=checkbox name=rw";
  357.  
  358.                                         if (file_exists("data/members/active/$member_list_entry/bb-rw.txt")) {
  359.                                                 echo " checked";
  360.                                         }
  361.  
  362.                                         echo "></td><td bgcolor=#ffffff align=center><input type=checkbox name=ul";
  363.  
  364.                                         if (file_exists("data/members/active/$member_list_entry/bb-ul.txt")) {
  365.                                                 echo " checked";
  366.                                         }
  367.  
  368.                                         echo "></td><td bgcolor=#ffffff align=center><input type=checkbox name=adm";
  369.  
  370.                                         if (file_exists("data/members/active/$member_list_entry/bb-adm.txt")) {
  371.                                                 echo " checked";
  372.                                         }
  373.  
  374.                                         echo "></td><td bgcolor=#ffffff align=center><input type=checkbox name=noml";
  375.  
  376.                                         if (file_exists("data/members/active/$member_list_entry/bb-noml.txt")) {
  377.                                                 echo " checked";
  378.                                         }
  379.                                        
  380.                                         echo "></td><td bgcolor=#ffffff align=center><input type=checkbox name=lockout";
  381.  
  382.                                         if (file_exists("data/members/active/$member_list_entry/bb-lockout.txt")) {
  383.                                                 echo " checked";
  384.                                         }                                      
  385.  
  386.                                         echo "></td><td bgcolor=#ffffff align=center><input type=checkbox name=del></td><td bgcolor=#ffffff align=center><input class=input type=text name=rank autocomplete=off value=\"";
  387.  
  388.                                         if (file_exists("data/members/active/$member_list_entry/rank.txt")) {
  389.                                                 readfile("data/members/active/$member_list_entry/rank.txt");
  390.                                         }
  391.                                         else {
  392.                                                 echo member;
  393.                                         }
  394.  
  395.                                         echo "\"></td><td bgcolor=#ffffff><select name=category><option>none";
  396.  
  397.                                         if (file_exists("data/members/active/$member_list_entry/category.txt")) {
  398.                                                 $bb_cat = file_get_contents("data/members/active/$member_list_entry/category.txt");
  399.                                                 if (!file_exists("data/categories/$bb_cat")) {
  400.                                                         unlink("data/members/active/$member_list_entry/category.txt");
  401.                                                 }
  402.                                         }
  403.  
  404.                                         if (file_exists("data/categories")) {
  405.  
  406.                                                 if ($dh_cat = opendir("data/categories")) {
  407.  
  408.                                                         while (($entry_cat = readdir($dh_cat)) !== false) {
  409.  
  410.                                                                 if ($entry_cat != "." && $entry_cat != "..") {
  411.                                                                         $show_cat[] = $entry_cat;
  412.                                                                 }
  413.                                                         }
  414.                                                         closedir($dh_cat);
  415.                                                 }
  416.  
  417.                                                 sort($show_cat);
  418.  
  419.                                                 foreach ($show_cat as $category) {
  420.                                                         echo "<option";
  421.  
  422.                                                         if (file_get_contents("data/members/active/$member_list_entry/category.txt") == $category) {
  423.                                                                 echo " selected";
  424.                                                         }
  425.  
  426.                                                         echo ">";
  427.                                                         echo mb_strtolower($category);
  428.                                                         unset($show_cat);
  429.                                                 }
  430.                                         }
  431.  
  432.                                         echo "</select></td><td bgcolor=#ffffff align=center><input class=click type=submit value=submit></td></form>";
  433.                                 }
  434.  
  435.                                 if ($member_list_entry == $maj_admin_username) {
  436.                                         echo "<td colspan=9 bgcolor=#ffffff align=center><a href=settings.php>administrator settings</a></td>";
  437.                                 }
  438.                         }
  439.                 }
  440.         }
  441. }
  442.  
  443. ?>
  444.  
  445. </table></div><div class="panel_footer"><font style="font-size: 10px; color: #999999;"><a href="index.php">home</a> | <a href="member.php?id=all">members</a> | <a href="login.php">
  446. <?php
  447. if (isset($maj_logged_in_username)) {
  448.         echo "logout";
  449. }
  450. else {
  451.         echo "login";
  452. }
  453. ?>
  454. </a></font></div>
  455. </td></tr></table>
  456.  
  457. <?php exit(); } ?>
  458.  
  459. <table border="0" cellspacing="0" cellpadding="0" bgcolor="#CCCCCC" style="background-color: transparent;">
  460. <tr><td width="525">
  461. <div class="panel_title">
  462.  
  463. <?php
  464.  
  465. if ($maj_admin_username == $id) {
  466.  
  467.         readfile("data/author.txt");
  468.  
  469.         if (isset($maj_logged_in_username) and !empty($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username) and !file_exists("data/members/active/{$maj_logged_in_username}")) {
  470.                 echo " &lt;";
  471.                 readfile("data/email.txt");
  472.                 echo " &gt;";
  473.         }
  474. }
  475. else {
  476.         echo "$member_firstname $member_lastname";
  477.  
  478.         if (isset($maj_logged_in_username) and !empty($maj_logged_in_username) and ($maj_logged_in_username == $maj_admin_username) and !file_exists("data/members/active/{$maj_logged_in_username}") and file_exists("data/members/active/$id/email.txt")) {
  479.                 $email = file_get_contents("data/members/active/$id/email.txt");
  480.                 echo " &lt;$email&gt;";
  481.         }
  482.  
  483. }
  484.  
  485. ?>
  486.  
  487. </div>
  488.  
  489. <div class="panel_entry_body">
  490. <table border="0" cellspacing="0" cellpadding="0"><tr><td width="<?php echo $maj_ablock; ?>" valign="top">
  491.  
  492. <?php
  493.  
  494. maj_avatar_image($id,$maj_aimage);
  495.  
  496. ?>
  497.  
  498.  
  499. </td><td width="435" valign="top"><table border="0" cellspacing="0" cellpadding="2">
  500.  
  501. <?php
  502.  
  503. if (file_exists("data/members/active/$id/org.txt") and ($maj_logged_in_username == $maj_admin_username)) {
  504.         $org = file_get_contents("data/members/active/$id/org.txt");
  505.         echo "<tr><td width=90>organization</td><td><code>$org</code></td></tr>";
  506. }
  507.  
  508. if (($maj_admin_username == $id) and file_exists("data/url.txt") and isset($maj_logged_in_username) and !empty($maj_logged_in_username)) {
  509.         $member_url = file_get_contents("data/url.txt");
  510.         echo "<tr><td width=90>website</td><td><a href=$member_url target=_majbb><code>$member_url</code></a></td></tr>";
  511. }
  512. elseif (file_exists("data/members/active/$id/url.txt") and isset($maj_logged_in_username) and !empty($maj_logged_in_username)) {
  513.         $member_url = file_get_contents("data/members/active/$id/url.txt");
  514.         echo "<tr><td width=90>website</td><td><a href=$member_url target=_majbb><code>$member_url</code></a></td></tr>";
  515. }
  516.  
  517. if (file_exists("data/members/active/$id/tel.txt") and ($maj_logged_in_username == $maj_admin_username)) {
  518.         $tel = file_get_contents("data/members/active/$id/tel.txt");
  519.         echo "<tr><td width=90>mobile number</td><td><code>$tel</code></td></tr>";
  520. }
  521.  
  522. if (file_exists("data/members/active/$id/bday.txt") and ($maj_logged_in_username == $maj_admin_username)) {
  523.         $bday = file_get_contents("data/members/active/$id/bday.txt");
  524.         $bday_year = mb_substr($bday,0,4);
  525.         $bday_month = mb_substr($bday,4,2);
  526.         $bday_day = mb_substr($bday,6,2);
  527.         $bday = date("d M Y [D]", mktime(0, 0, 0, $bday_month, $bday_day, $bday_year));
  528.         echo "<tr><td width=90>birthdate</td><td><code>$bday</code></td></tr>";
  529. }
  530.  
  531. if (file_exists("data/members/active/$id/timestamp.txt")) {
  532.         $joined = file_get_contents("data/members/active/$id/timestamp.txt");
  533.         $joined_year = mb_substr($joined,0,4);
  534.         $joined_month = mb_substr($joined,4,2);
  535.         $joined_day = mb_substr($joined,6,2);
  536.         $joined_hh = mb_substr($joined,8,2);
  537.         $joined_mm = mb_substr($joined,10,2);
  538.         $member_since = date("d M Y H:i", mktime($joined_hh, $joined_mm, 0, $joined_month, $joined_day, $joined_year));
  539.         echo "<tr><td width=90>member since</td><td><code>$member_since</code></td></tr>";
  540. }
  541.  
  542. if (($maj_admin_username == $id) and file_exists("data/lastlog.txt")) {
  543.         $lastlog = file_get_contents("data/lastlog.txt");
  544.         $lastlog_year = mb_substr($lastlog,0,4);
  545.         $lastlog_month = mb_substr($lastlog,4,2);
  546.         $lastlog_day = mb_substr($lastlog,6,2);
  547.         $lastlog_hh = mb_substr($lastlog,8,2);
  548.         $lastlog_mm = mb_substr($lastlog,10,2);
  549.         $last_login = date("d M Y H:i", mktime($lastlog_hh, $lastlog_mm, 0, $lastlog_month, $lastlog_day, $lastlog_year));
  550.         echo "<tr><td width=90>last login</td><td><code>$last_login</code></td></tr>";
  551. }
  552. elseif (file_exists("data/members/active/$id/bb-last.txt")) {
  553.         $lastlog = file_get_contents("data/members/active/$id/bb-last.txt");
  554.         $lastlog_year = mb_substr($lastlog,0,4);
  555.         $lastlog_month = mb_substr($lastlog,4,2);
  556.         $lastlog_day = mb_substr($lastlog,6,2);
  557.         $lastlog_hh = mb_substr($lastlog,8,2);
  558.         $lastlog_mm = mb_substr($lastlog,10,2);
  559.         $last_login = date("d M Y H:i", mktime($lastlog_hh, $lastlog_mm, 0, $lastlog_month, $lastlog_day, $lastlog_year));
  560.         echo "<tr><td width=90>last login</td><td><code>$last_login</code></td></tr>";
  561. }
  562.  
  563. if (($maj_admin_username == $id) and file_exists("data/lastpost.txt")) {
  564.         $lastpost = file_get_contents("data/lastpost.txt");
  565.         $lastpost_year = mb_substr($lastpost,0,4);
  566.         $lastpost_month = mb_substr($lastpost,4,2);
  567.         $lastpost_day = mb_substr($lastpost,6,2);
  568.         $lastpost_hh = mb_substr($lastpost,8,2);
  569.         $lastpost_mm = mb_substr($lastpost,10,2);
  570.         $last_post = date("d M Y H:i", mktime($lastpost_hh, $lastpost_mm, 0, $lastpost_month, $lastpost_day, $lastpost_year));
  571.         echo "<tr><td width=90>last post</td><td><code>$last_post</code></td></tr>";
  572. }
  573. elseif (file_exists("data/members/active/$id/bb-post.txt")) {
  574.         $lastpost = file_get_contents("data/members/active/$id/bb-post.txt");
  575.         $lastpost_year = mb_substr($lastpost,0,4);
  576.         $lastpost_month = mb_substr($lastpost,4,2);
  577.         $lastpost_day = mb_substr($lastpost,6,2);
  578.         $lastpost_hh = mb_substr($lastpost,8,2);
  579.         $lastpost_mm = mb_substr($lastpost,10,2);
  580.         $last_post = date("d M Y H:i", mktime($lastpost_hh, $lastpost_mm, 0, $lastpost_month, $lastpost_day, $lastpost_year));
  581.         echo "<tr><td width=90>last post</td><td><code>$last_post</code></td></tr>";
  582. }
  583.  
  584. if ($maj_admin_username == $id) {
  585.         if (!file_exists("data/bb-views.txt")) {
  586.                 $views = 0;
  587.         }
  588.         else {
  589.                 $views = file_get_contents("data/bb-views.txt");
  590.         }
  591.         if (!isset($maj_logged_in_username) or empty($maj_logged_in_username) or (isset($maj_logged_in_username) and ($maj_logged_in_username != $maj_admin_username))) {
  592.                 $views = $views + 1;
  593.                 $views_file = fopen("data/bb-views.txt", "w");
  594.                 fwrite($views_file, $views);
  595.                 fclose($views_file);
  596.         }
  597.         echo "<tr><td width=90>profile views</td><td><code>$views</code></td></tr>";
  598. }
  599. elseif (file_exists("data/members/active/$id")) {
  600.  
  601.         if (!file_exists("data/members/active/$id/bb-views.txt")) {
  602.                 $views = 0;
  603.         }
  604.         else {
  605.                 $views = file_get_contents("data/members/active/$id/bb-views.txt");
  606.         }
  607.  
  608.         if (!isset($maj_logged_in_username) or empty($maj_logged_in_username) or (isset($maj_logged_in_username) and ($maj_logged_in_username != $id))) {
  609.  
  610.                 if (!isset($maj_logged_in_username) or empty($maj_logged_in_username) or (isset($maj_logged_in_username) and ($maj_logged_in_username != $maj_admin_username))) {
  611.                         $views = $views + 1;
  612.                         $views_file = fopen("data/members/active/$id/bb-views.txt", "w");
  613.                         fwrite($views_file, $views);
  614.                         fclose($views_file);
  615.                 }
  616.         }
  617.         echo "<tr><td width=90>profile views</td><td><code>$views</code></td></tr>";
  618. }
  619.  
  620. if (($maj_admin_username == $id) and file_exists("data/bb-logins.txt")) {
  621.         $logins = file_get_contents("data/bb-logins.txt");
  622.         echo "<tr><td width=90>total logins</td><td><code>$logins</code></td></tr>";
  623. }
  624. elseif (file_exists("data/members/active/$id") and file_exists("data/members/active/$id/bb-logins.txt")) {
  625.         $logins = file_get_contents("data/members/active/$id/bb-logins.txt");
  626.         echo "<tr><td width=90>total logins</td><td><code>$logins</code></td></tr>";
  627. }
  628.  
  629. if ($dh_posts = opendir("data/items")) {
  630.  
  631.         while (($member_posts = readdir($dh_posts)) !== false) {
  632.  
  633.                 if ($member_posts != "." && $member_posts != "..") {
  634.        
  635.                         $total_posts[] = $member_posts;
  636.        
  637.                         if (file_exists("data/items/$member_posts/private.txt") and (!isset($maj_logged_in_username) or ($maj_logged_in_username != $maj_admin_username))) {
  638.                                 continue;
  639.                         }
  640.        
  641.                         $private_cat = "0";
  642.                                
  643.                         if (file_exists("data/items/$member_posts/categories")) {
  644.                                                
  645.                                 if ($dh_member_posts_cat2 = opendir("data/items/$member_posts/categories")) {
  646.                                                        
  647.                                         while (($member_posts_cat2 = readdir($dh_member_posts_cat2)) !== false) {
  648.                                                        
  649.                                                 if ($member_posts_cat2 != "." && $member_posts_cat2 != "..") {
  650.        
  651.                                                         if (file_exists("data/categories/$member_posts_cat2/private.txt")) {
  652.                                                                 $private_cat = $private_cat + 1;
  653.                                                         }
  654.                                                 }
  655.                                         }
  656.                                         closedir($dh_member_posts_cat2);
  657.                                 }
  658.                         }
  659.                        
  660.                         if (($private_cat > 0) and (!isset($maj_logged_in_username) or ($maj_logged_in_username != $maj_admin_username)) and !file_exists("data/items/$member_posts/cat.txt")) {
  661.                                 continue;
  662.                         }
  663.        
  664.                         if (file_exists("data/members/active/$id") and file_exists("data/bb.txt")) {
  665.  
  666.                                 if (file_exists("data/items/$member_posts/author.txt") and (file_get_contents("data/items/$member_posts/author.txt") == $id)) {
  667.                                         $items_posts[] = $member_posts;
  668.                                 }
  669.                         }
  670.                         elseif (!file_exists("data/members/active/$id") and ($maj_admin_username == $id) and file_exists("data/bb.txt")) {
  671.  
  672.                                 if (file_exists("data/items/$member_posts/author.txt") and (file_get_contents("data/items/$member_posts/author.txt") == $id)) {
  673.                                         $items_posts[] = $member_posts;
  674.                                 }
  675.                         }
  676.                 }
  677.         }
  678.         closedir($dh_posts);
  679. }
  680.  
  681. $posts = count($items_posts);
  682. $all_posts = count($total_posts);
  683. $ratio_posts = (($posts/$all_posts) * 100);
  684. $ratio_posts = number_format($ratio_posts,2);
  685.  
  686. echo "<tr><td width=90>total posts</td><td><code>$posts</code></td></tr>";
  687. echo "<tr><td width=90>&nbsp;</td><td><code>{$ratio_posts}% of total</code></td></tr>";
  688.  
  689. if ($posts > 0) {
  690.         echo "<tr><td width=90>&nbsp;</td><td><a href=index.php?author=$id><code>find all posts by $id</code></a></td></tr>";
  691. }
  692.  
  693. unset($items_posts);
  694. unset($total_posts);
  695.  
  696. ?>
  697.  
  698. <tr><td>permissions</td><td><code>
  699.  
  700. <?php
  701.  
  702. if ($id == $maj_admin_username) {
  703.         echo "rw";
  704. }
  705.  
  706. if (($id != $maj_admin_username) and file_exists("data/members/active/$id")) {
  707.  
  708.         if (file_exists("data/members/active/$id/bb-rw.txt")) {
  709.                 echo "rw";
  710.         }
  711.         else {
  712.                 echo "ro";
  713.         }
  714. }
  715.  
  716. if (($id != $maj_admin_username) and file_exists("data/members/active/$id")) {
  717.  
  718.         if (file_exists("data/members/active/$id/bb-ul.txt")) {
  719.                 echo " upload";
  720.         }
  721. }
  722.  
  723. ?>
  724.  
  725. </code></td></tr>
  726.  
  727. <?php
  728.  
  729. if (($id != $maj_admin_username) and file_exists("data/members/active/$id")) {
  730.  
  731.         if (file_exists("data/members/active/$id/category.txt")) {
  732.  
  733.                 $bb_cat = file_get_contents("data/members/active/$id/category.txt");
  734.  
  735.                 if (!file_exists("data/categories/$bb_cat")) {
  736.                         unlink("data/members/active/$id/category.txt");
  737.                 }
  738.         }
  739.  
  740.         if (file_exists("data/members/active/$id/category.txt")) {
  741.  
  742.                 echo "<tr><td>group (rw)</td><td><code>";
  743.  
  744.                 $category_name = file_get_contents("data/members/active/$id/category.txt");
  745.  
  746.                 if (file_exists("data/categories/$category_name/title.txt")) {
  747.                         readfile("data/categories/$category_name/title.txt");
  748.                 }
  749.                 else {
  750.                         echo $category_name;
  751.                 }
  752.                 echo "</code></td></tr>";
  753.         }
  754. }
  755.  
  756. ?>
  757.  
  758. <tr><td>status</td><td><code>
  759.  
  760. <?php
  761.  
  762. $sess_dir = session_save_path();
  763.  
  764. if (file_exists("data/bb-idle.txt")) {
  765.         $idle = file_get_contents("data/bb-idle.txt");
  766. }
  767. else {
  768.         $idle = 15;
  769. }
  770.  
  771. $sess_count = 0;
  772.  
  773. if (is_dir($sess_dir)) {
  774.  
  775.         if ($sess_dh = opendir($sess_dir)) {
  776.  
  777.                 while (($sess_file = readdir($sess_dh)) !== false) {
  778.  
  779.                         if ($sess_file != '.' && $sess_file != '..') {
  780.  
  781.                                 if ((time() - fileatime("$sess_dir/$sess_file")) < ($idle * 60)) {
  782.                        
  783.                                         $sess_content = file_get_contents("$sess_dir/$sess_file");
  784.                        
  785.                                         if (preg_match("/logged_in/",$sess_content) and preg_match("/$maj_server/",$sess_content) and preg_match("/$id/",$sess_content)) {
  786.                                                 $sess_count++;
  787.                                         }
  788.                                 }
  789.                         }
  790.                 }
  791.                 closedir($sess_dh);
  792.         }
  793. }
  794.  
  795. if ($sess_count > 0) {
  796.         echo "online";
  797. }
  798. else {
  799.         echo "offline";
  800. }
  801.  
  802. $sess_count = 0;
  803.  
  804. ?>
  805.  
  806. </code></td></tr>
  807.  
  808. </table></td></tr></table></div>
  809.  
  810. <div class="panel_footer"><font style="font-size: 10px; color: #999999;"><a href="index.php">home</a> | <a href="member.php?id=all">members</a> | <a href="login.php">
  811.  
  812. <?php
  813.  
  814. if (isset($maj_logged_in_username)) {
  815.         echo "logout";
  816. }
  817. else {
  818.         echo "login";
  819. }
  820.  
  821. ?>
  822.  
  823. </a></font></div>
  824. </td></tr></table>
  825.  
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