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

  1. <?php
  2.  
  3.  
  4. header("Cache-control: private");
  5.  
  6. error_reporting(E_ERROR);
  7.  
  8. if (isset($_SESSION['logged_in']) and ($_SESSION['user_agent'] != $_SERVER['HTTP_USER_AGENT'])) {
  9.         header("Location: login.php");
  10. }
  11.  
  12.         function stripslashes_array($data) {
  13.                 if (is_array($data)) {
  14.                         foreach ($data as $key => $value) {
  15.                                 $data[$key] = stripslashes_array($value);
  16.                         }
  17.                         return $data;
  18.                 }
  19.                 else {
  20.                         return stripslashes($data);
  21.                 }
  22.         }
  23.         $_POST = stripslashes_array($_POST);
  24. }
  25.  
  26. if (file_exists("data/lite.txt")) {
  27.         exit();
  28. }
  29.  
  30. if (!file_exists("data/bb.txt")) {
  31.         exit();
  32. }
  33.  
  34. if (!isset($_REQUEST['id']) or empty($_REQUEST['id'])) {
  35.         exit();
  36. }
  37.  
  38. if (isset($_REQUEST['id']) and ($_REQUEST['id'] != file_get_contents("data/username.txt")) and !file_exists("data/members/active/{$_REQUEST['id']}") and ($_REQUEST['id'] != "all")) {
  39.         exit();
  40. }
  41.  
  42. $id = $_REQUEST['id'];
  43.  
  44. $login_username = file_get_contents("data/username.txt");
  45.  
  46. $maj_server = sha1($_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']));
  47.  
  48. if (file_get_contents("data/username.txt") != $id) {
  49.         $member_firstname = file_get_contents("data/members/active/$id/firstname.txt");
  50.         $member_lastname = file_get_contents("data/members/active/$id/lastname.txt");
  51. }
  52.  
  53. if ($id == "all") {
  54.         echo "<title>Members</title>";
  55. }
  56. else {
  57.         if ($id == $login_username) {
  58.                 $author = file_get_contents("data/author.txt");
  59.                 echo "<title>$author</title>";
  60.         }
  61.         else {
  62.                 echo "<title>$member_firstname $member_lastname</title>";
  63.         }
  64. }
  65.  
  66. ?>
  67.  
  68. <style>
  69.  
  70. body {
  71.         color: #666666;
  72.         margin: 0px 0px 10px 10px;
  73.         padding: 0px;
  74.         text-align: left;
  75.         font-family: <?php
  76.                                 if (file_exists("data/fonts/body.txt")) {
  77.                                         $font_body = file_get_contents("data/fonts/body.txt");
  78.                                         echo "{$font_body},";
  79.                                 }
  80.         ?> arial, helvetica, sans-serif;
  81.         background-color: #FFFFFF;
  82.         }
  83.  
  84. p, td {
  85.         font-size: 11px;
  86. }
  87.  
  88. a {
  89.         font-weight: bold;
  90.         text-decoration: none;
  91. }
  92.  
  93. a:link {
  94.         color: #666666;
  95. }
  96.  
  97. a:visited {
  98.         color: #666666;
  99. }
  100.  
  101. a:hover {
  102.         color: #336699;
  103. }
  104.  
  105. a:active {
  106.         color: #336699;
  107. }
  108.  
  109. #panel_title {
  110.         font-family: <?php
  111.                                 if (file_exists("data/fonts/panel-title.txt")) {
  112.                                         $font_panel_title = file_get_contents("data/fonts/panel-title.txt");
  113.                                         echo "{$font_panel_title},";
  114.                                 }
  115.         ?> arial, helvetica, sans-serif;
  116.         font-size: 12px;
  117.         font-weight: bold;
  118.         color: #666666;
  119.         padding: 5px 5px 5px 5px;
  120.         background-color: transparent;
  121.         margin: 10px 0px 0px 0px;
  122.         border-color: #CCCCCC;
  123.         border-width: 1px 1px 0px 1px;
  124.         border-style: solid solid none solid;
  125. }
  126.  
  127. #panel_body {
  128.         font-family: <?php
  129.                                 if (file_exists("data/fonts/panel-body.txt")) {
  130.                                         $font_panel_body = file_get_contents("data/fonts/panel-body.txt");
  131.                                         echo "{$font_panel_body},";
  132.                                 }
  133.         ?> arial, helvetica, sans-serif;
  134.         font-size: 11px;
  135.         color: #666666;
  136.         padding: 5px 5px 5px 5px;
  137.         background-color: transparent;
  138.         margin: 0px;
  139.         border-color: #CCCCCC;
  140.         border-width: 1px 1px 1px 1px;
  141.         border-style: solid solid solid solid;
  142. }
  143.  
  144. #panel_footer {
  145.         font-family: <?php
  146.                                 if (file_exists("data/fonts/panel-footer.txt")) {
  147.                                         $font_panel_footer = file_get_contents("data/fonts/panel-footer.txt");
  148.                                         echo "{$font_panel_footer},";
  149.                                 }
  150.         ?> arial, helvetica, sans-serif;
  151.         font-size: 11px;
  152.         color: #666666;
  153.         padding: 5px 5px 5px 5px;
  154.         background-color: transparent;
  155.         margin: 0px;
  156.         border-color: #CCCCCC;
  157.         border-width: 0px 1px 1px 1px;
  158.         border-style: none solid solid solid;
  159.         text-align: right;
  160. }
  161.  
  162. .submit {      
  163.         color: #666666;
  164.         background: #ffffff;
  165.         border: #999999 solid 1px;
  166.         width: 100%;
  167.         font-family: <?php
  168.                                 if (file_exists("data/fonts/input.txt")) {
  169.                                         $font_input = file_get_contents("data/fonts/input.txt");
  170.                                         echo "{$font_input},";
  171.                                 }
  172.         ?> arial, helvetica, sans-serif;
  173.         font-size: 11px
  174. }
  175. </style>
  176.  
  177. <?php
  178.  
  179. if ($id == "all") {
  180.  
  181.         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($_SESSION['logged_in']) and !empty($_SESSION['logged_in']) and ($_SESSION['logged_in'] == file_get_contents("data/username.txt"))) {
  182.        
  183.                 if (isset($_POST['rw']) and !empty($_POST['rw']) and ($_POST['rw'] == "on") and !file_exists("data/members/active/{$_POST['username']}/rw.txt")) {
  184.                         touch("data/members/active/{$_POST['username']}/rw.txt");
  185.                 }
  186.        
  187.                 if ((!isset($_POST['rw']) or empty($_POST['rw'])) and file_exists("data/members/active/{$_POST['username']}/rw.txt")) {
  188.                         unlink("data/members/active/{$_POST['username']}/rw.txt");
  189.                 }
  190.        
  191.                 if (isset($_POST['ul']) and !empty($_POST['ul']) and ($_POST['ul'] == "on") and !file_exists("data/members/active/{$_POST['username']}/ul.txt")) {
  192.                         touch("data/members/active/{$_POST['username']}/ul.txt");
  193.                 }
  194.        
  195.                 if ((!isset($_POST['ul']) or empty($_POST['ul'])) and file_exists("data/members/active/{$_POST['username']}/ul.txt")) {
  196.                         unlink("data/members/active/{$_POST['username']}/ul.txt");
  197.                 }
  198.        
  199.                 if (isset($_POST['noml']) and !empty($_POST['noml']) and ($_POST['noml'] == "on") and !file_exists("data/members/active/{$_POST['username']}/noml.txt")) {
  200.                         touch("data/members/active/{$_POST['username']}/noml.txt");
  201.                 }
  202.        
  203.                 if ((!isset($_POST['noml']) or empty($_POST['noml'])) and file_exists("data/members/active/{$_POST['username']}/noml.txt")) {
  204.                         unlink("data/members/active/{$_POST['username']}/noml.txt");
  205.                 }
  206.        
  207.                 if (isset($_POST['rank']) and !empty($_POST['rank']) and (strtolower($_POST['rank']) != "member")) {
  208.                         $rank_file = "data/members/active/{$_POST['username']}/rank.txt";
  209.                         $fp_rank_txt = fopen($rank_file,"w");
  210.                         fwrite($fp_rank_txt,$_POST['rank']);
  211.                         fclose($fp_rank_txt);
  212.                 }
  213.        
  214.                 if ((!isset($_POST['rank']) or empty($_POST['rank'])) and file_exists("data/members/active/{$_POST['username']}/rank.txt")) {
  215.                         unlink("data/members/active/{$_POST['username']}/rank.txt");
  216.                 }
  217.        
  218.                 if (isset($_POST['category']) and !empty($_POST['category']) and (strtolower($_POST['category']) != "none") and (file_exists("data/categories/{$_POST['category']}"))) {
  219.                         $category_file = "data/members/active/{$_POST['username']}/category.txt";
  220.                         $fp_category_txt = fopen($category_file,"w");
  221.                         fwrite($fp_category_txt,$_POST['category']);
  222.                         fclose($fp_category_txt);
  223.                 }
  224.        
  225.                 if ((!isset($_POST['category']) or empty($_POST['category']) or ($_POST['category'] == "none")) and file_exists("data/members/active/{$_POST['username']}/category.txt")) {
  226.                         unlink("data/members/active/{$_POST['username']}/category.txt");
  227.                 }
  228.        
  229.                 if (file_exists("data/members/active/{$_POST['username']}/ul.txt") and !file_exists("data/members/active/{$_POST['username']}/rw.txt") and !file_exists("data/members/active/{$_POST['username']}/category.txt")) {
  230.                         unlink("data/members/active/{$_POST['username']}/ul.txt");
  231.                 }
  232.        
  233.                 if (isset($_POST['del']) and !empty($_POST['del']) and ($_POST['del'] == "on")) {
  234.  
  235.                         function rmdirr($recurse_dirname) {
  236.                
  237.                                 if (!file_exists($recurse_dirname)) {
  238.                                         return false;
  239.                                 }
  240.                
  241.                                 if (is_file($recurse_dirname)) {
  242.                                         return unlink($recurse_dirname);
  243.                                 }
  244.                
  245.                                 $recurse_dir = dir($recurse_dirname);
  246.  
  247.                                 while (false !== $recurse_entry = $recurse_dir->read()) {
  248.                
  249.                                         if ($recurse_entry == '.' || $recurse_entry == '..') {
  250.                                                 continue;
  251.                                         }
  252.                                 rmdirr("$recurse_dirname/$recurse_entry");
  253.                         }
  254.                         $recurse_dir->close();
  255.                         return rmdir($recurse_dirname);
  256.                 }
  257.                 rmdirr("data/members/active/{$_POST['username']}");
  258.         }
  259. }
  260.  
  261. ?>
  262.  
  263. <table border="0" cellspacing="0" cellpadding="0" bgcolor="#CCCCCC" style="background-color: transparent;" width="640"><tr><td><div id="panel_title">Members</div><div id="panel_body"><table border="0" cellspacing="1" cellpadding="2" bgcolor="#cccccc" width="628">
  264. <tr><td bgcolor="#eeeeee" align="center">status</td><td bgcolor="#eeeeee" align="center">username</td><td bgcolor="#eeeeee" align="center">member since</td><td bgcolor="#eeeeee" align="center">logins</td><td bgcolor="#eeeeee" align="center">posts</td><?php
  265.  
  266. if (isset($_SESSION['logged_in']) and !empty($_SESSION['logged_in']) and ($_SESSION['logged_in'] == file_get_contents("data/username.txt"))) {
  267.         echo '<td bgcolor="#eeeeee" align="center">rw</td><td bgcolor="#eeeeee" align="center">ul</td><td bgcolor="#eeeeee" align="center">noml</td><td bgcolor="#eeeeee" align="center">delete</td><td bgcolor="#eeeeee" align="center">rank</td><td bgcolor="#eeeeee" align="center">category</td><td bgcolor="#eeeeee" align="center">action</td>';
  268. }
  269.  
  270. ?></tr>
  271.  
  272. <?php
  273.  
  274. $show_member_list[] = file_get_contents("data/username.txt");
  275.  
  276. if (file_exists("data/members/active")) {
  277.         if ($dh_member_list = opendir("data/members/active")) {
  278.                 while (($entry_member_list = readdir($dh_member_list)) !== false) {
  279.                         if ($entry_member_list != "." && $entry_member_list != "..") {
  280.                                 $show_member_list[] = $entry_member_list;
  281.                         }
  282.                 }
  283.                 closedir($dh_member_list);
  284.         }
  285.  
  286.         sort($show_member_list);
  287.         reset($show_member_list);
  288.         $count_member_list = count($show_member_list);
  289.        
  290.         if ($count_member_list > 0) {
  291.  
  292.                 $sess_dir = session_save_path();
  293.  
  294.                 if (file_exists("data/bb-idle.txt")) {
  295.                         $idle = file_get_contents("data/bb-idle.txt");
  296.                 }
  297.                 else {
  298.                         $idle = 15;
  299.                 }
  300.  
  301.                 foreach ($show_member_list as $member_list_entry) {
  302.  
  303.                         echo "<tr><td bgcolor=#ffffff align=center>";
  304.  
  305.                         $sess_count = 0;
  306.  
  307.                         if (is_dir($sess_dir)) {
  308.                                 if ($sess_dh = opendir($sess_dir)) {
  309.                                         while (($sess_file = readdir($sess_dh)) !== false) {
  310.                                                 if ($sess_file != '.' && $sess_file != '..') {
  311.                                                         if ((time() - fileatime("$sess_dir/$sess_file")) < ($idle * 60)) {
  312.                        
  313.                                                                 $sess_content = file_get_contents("$sess_dir/$sess_file");
  314.                                                
  315.                                                                 if (preg_match("/logged_in/",$sess_content) and preg_match("/$maj_server/",$sess_content) and preg_match("/$member_list_entry/",$sess_content)) {
  316.                                                                                 $sess_count++;
  317.                                                                 }
  318.                                                         }
  319.                                                 }
  320.                                         }
  321.                                         closedir($sess_dh);
  322.                                 }
  323.                         }
  324.                        
  325.                         if ($sess_count > 0) {
  326.                                 echo "<img src=images/smileys/smile.png>";
  327.                         }
  328.                         else {
  329.                                 echo "<img src=images/smileys/offline.png>";
  330.                         }
  331.  
  332.                         $sess_count = 0;
  333.  
  334.                         echo "</td><td bgcolor=#ffffff><a href=member.php?id=$member_list_entry>$member_list_entry</a></td>";
  335.  
  336.                         if ($member_list_entry == file_get_contents("data/username.txt") or (file_exists("data/members/active/$member_list_entry") and !file_exists("data/members/active/$member_list_entry/timestamp.txt"))) {
  337.                                 echo "<td bgcolor=#ffffff align=center><nobr><code>-</code></nobr></td>";
  338.                         }
  339.  
  340.                         if (file_exists("data/members/active/$member_list_entry") and ($member_list_entry != file_get_contents("data/username.txt")) and file_exists("data/members/active/$member_list_entry/timestamp.txt")) {
  341.                                 $joined = file_get_contents("data/members/active/$member_list_entry/timestamp.txt");
  342.                                 $joined_year = substr($joined,0,4);
  343.                                 $joined_month = substr($joined,4,2);
  344.                                 $joined_day = substr($joined,6,2);
  345.                                 $member_since = date("d M Y", mktime(0, 0, 0, $joined_month, $joined_day, $joined_year));
  346.                                 echo "<td bgcolor=#ffffff align=center><nobr><code>$member_since</code></nobr></td>";
  347.                         }
  348.  
  349.                         if ((file_get_contents("data/username.txt") == $member_list_entry) and file_exists("data/logins.txt")) {
  350.                                 $logins = file_get_contents("data/logins.txt");
  351.                                 echo "<td bgcolor=#ffffff align=right><code>$logins</code></td>";
  352.                         }
  353.                         elseif (file_exists("data/members/active/$member_list_entry") and file_exists("data/members/active/$member_list_entry/bb-logins.txt")) {
  354.                                 $logins = file_get_contents("data/members/active/$member_list_entry/bb-logins.txt");
  355.                                 echo "<td bgcolor=#ffffff align=right><code>$logins</code></td>";
  356.                         }
  357.  
  358.                         if ((file_get_contents("data/username.txt") == $member_list_entry) and !file_exists("data/logins.txt")) {
  359.                                 echo "<td bgcolor=#ffffff align=right><code>0</code></td>";
  360.                         }
  361.                         elseif (file_exists("data/members/active/$member_list_entry") and !file_exists("data/members/active/$member_list_entry/bb-logins.txt")) {
  362.                                 echo "<td bgcolor=#ffffff align=right><code>0</code></td>";
  363.                         }
  364.  
  365.                         if ($dh_posts_all = opendir("data/items")) {
  366.  
  367.                                 while (($member_posts = readdir($dh_posts_all)) !== false) {
  368.  
  369.                                         if ($member_posts != "." && $member_posts != "..") {
  370.  
  371.                                                 if (file_exists("data/items/$member_posts/private.txt") and (!isset($_SESSION['logged_in']) or ($_SESSION['logged_in'] != $login_username))) {
  372.                                                         continue;
  373.                                                 }
  374.  
  375.                                                 $private_cat = "0";
  376.                        
  377.                                                 if (file_exists("data/items/$member_posts/categories")) {
  378.                                        
  379.                                                         if ($dh_member_posts_cat2 = opendir("data/items/$member_posts/categories")) {
  380.                                                
  381.                                                                 while (($member_posts_cat2 = readdir($dh_member_posts_cat2)) !== false) {
  382.                                                
  383.                                                                         if ($member_posts_cat2 != "." && $member_posts_cat2 != "..") {
  384.  
  385.                                                                                 if (file_exists("data/categories/$member_posts_cat2/private.txt")) {
  386.                                                                                         $private_cat = $private_cat + 1;
  387.                                                                                 }
  388.                                                                         }
  389.                                                                 }
  390.                                                                 closedir($dh_member_posts_cat2);
  391.                                                         }
  392.                                                 }
  393.                
  394.                                                 if (($private_cat > 0) and (!isset($_SESSION['logged_in']) or ($_SESSION['logged_in'] != $login_username)) and !file_exists("data/items/$member_posts/cat.txt")) {
  395.                                                         continue;
  396.                                                 }
  397.                        
  398.                                                 if (file_exists("data/members/active/$member_list_entry") and file_exists("data/bb.txt")) {
  399.        
  400.                                                         if (file_exists("data/items/$member_posts/author.txt") and (file_get_contents("data/items/$member_posts/author.txt") == $member_list_entry)) {
  401.                                                                 $items_posts[] = $member_posts;
  402.                                                         }
  403.                                                 }
  404.                                                 else {
  405.                                                         if (!file_exists("data/members/active/$member_list_entry") and (file_get_contents("data/username.txt") == $member_list_entry) and file_exists("data/bb.txt")) {
  406.  
  407.                                                                 if (file_exists("data/items/$member_posts/author.txt") and (file_get_contents("data/items/$member_posts/author.txt") == $member_list_entry)) {
  408.                                                                         $items_posts[] = $member_posts;
  409.                                                                 }
  410.                                                         }
  411.                                                 }
  412.                                         }
  413.                                 }
  414.                                 closedir($dh_posts_all);
  415.                         }
  416.                        
  417.                         $posts = count($items_posts);
  418.  
  419.                         echo "<td bgcolor=#ffffff align=right><code>$posts</code></td>";
  420.  
  421.                         unset($items_posts);
  422.  
  423.                         if (isset($_SESSION['logged_in']) and !empty($_SESSION['logged_in']) and ($_SESSION['logged_in'] == file_get_contents("data/username.txt"))) {
  424.  
  425.                                 if (($member_list_entry != file_get_contents("data/username.txt")) and file_exists("data/members/active/$member_list_entry")) {
  426.  
  427.                                         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>";
  428.                                         echo "<td bgcolor=#ffffff align=center><input type=checkbox name=rw";
  429.  
  430.                                         if (file_exists("data/members/active/$member_list_entry/rw.txt")) {
  431.                                                 echo " checked";
  432.                                         }
  433.  
  434.                                         echo "></td><td bgcolor=#ffffff align=center><input type=checkbox name=ul";
  435.  
  436.                                         if (file_exists("data/members/active/$member_list_entry/ul.txt")) {
  437.                                                 echo " checked";
  438.                                         }
  439.  
  440.                                         echo "></td><td bgcolor=#ffffff align=center><input type=checkbox name=noml";
  441.  
  442.                                         if (file_exists("data/members/active/$member_list_entry/noml.txt")) {
  443.                                                 echo " checked";
  444.                                         }
  445.  
  446.                                         echo "></td><td bgcolor=#ffffff align=center><input type=checkbox name=del></td><td bgcolor=#ffffff align=center><input class=submit type=text name=rank autocomplete=off value=\"";
  447.  
  448.                                         if (file_exists("data/members/active/$member_list_entry/rank.txt")) {
  449.                                                 readfile("data/members/active/$member_list_entry/rank.txt");
  450.                                         }
  451.                                         else {
  452.                                                 echo member;
  453.                                         }
  454.  
  455.                                         echo "\"></td><td bgcolor=#ffffff><select name=category><option>none";
  456.  
  457.                                         if (file_exists("data/members/active/$member_list_entry/category.txt")) {
  458.                                                 $bb_cat = file_get_contents("data/members/active/$member_list_entry/category.txt");
  459.                                                 if (!file_exists("data/categories/$bb_cat")) {
  460.                                                         unlink("data/members/active/$member_list_entry/category.txt");
  461.                                                 }
  462.                                         }
  463.  
  464.                                         if (file_exists("data/categories")) {
  465.  
  466.                                                 if ($dh_cat = opendir("data/categories")) {
  467.  
  468.                                                         while (($entry_cat = readdir($dh_cat)) !== false) {
  469.  
  470.                                                                 if ($entry_cat != "." && $entry_cat != "..") {
  471.                                                                         $show_cat[] = $entry_cat;
  472.                                                                 }
  473.                                                         }
  474.                                                         closedir($dh_cat);
  475.                                                 }
  476.  
  477.                                                 sort($show_cat);
  478.                                                 reset($show_cat);
  479.  
  480.                                                 foreach ($show_cat as $category) {
  481.                                                         echo "<option";
  482.  
  483.                                                         if (file_get_contents("data/members/active/$member_list_entry/category.txt") == $category) {
  484.                                                                 echo " selected";
  485.                                                         }
  486.  
  487.                                                         echo ">";
  488.                                                         echo strtolower($category);
  489.                                                         unset($show_cat);
  490.                                                 }
  491.                                         }
  492.  
  493.                                         echo "</select></td><td bgcolor=#ffffff align=center><input class=submit type=submit value=submit></td></form>";
  494.                                 }
  495.  
  496.                                 if ($member_list_entry == file_get_contents("data/username.txt")) {
  497.                                         echo "<td colspan=7 bgcolor=#ffffff align=center><a href=settings.php>administrator settings</a></td>";
  498.                                 }
  499.                         }
  500.                 }
  501.         }
  502. }
  503.  
  504. ?>
  505.  
  506. </table></div><div id="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">
  507. <?php
  508. if (isset($_SESSION['logged_in'])) {
  509.         echo "logout";
  510. }
  511. else {
  512.         echo "login";
  513. }
  514. ?>
  515. </a></font></div>
  516. </td></tr></table>
  517.  
  518. <?php exit(); } ?>
  519.  
  520. <table border="0" cellspacing="0" cellpadding="0" bgcolor="#CCCCCC" style="background-color: transparent;">
  521. <tr><td width="525">
  522. <div id="panel_title">
  523.  
  524. <?php
  525.  
  526. if (file_get_contents("data/username.txt") == $id) {
  527.  
  528.         readfile("data/author.txt");
  529.  
  530.         if (isset($_SESSION['logged_in']) and !empty($_SESSION['logged_in']) and ($_SESSION['logged_in'] == file_get_contents("data/username.txt")) and !file_exists("data/members/active/{$_SESSION['logged_in']}")) {
  531.                 echo " &lt;";
  532.                 readfile("data/email.txt");
  533.                 echo " &gt;";
  534.         }
  535. }
  536. else {
  537.         echo "$member_firstname $member_lastname";
  538.  
  539.         if (isset($_SESSION['logged_in']) and !empty($_SESSION['logged_in']) and ($_SESSION['logged_in'] == file_get_contents("data/username.txt")) and !file_exists("data/members/active/{$_SESSION['logged_in']}") and file_exists("data/members/active/$id/email.txt")) {
  540.                 $email = file_get_contents("data/members/active/$id/email.txt");
  541.                 echo " &lt;$email&gt;";
  542.         }
  543.  
  544. }
  545.  
  546. ?>
  547.  
  548. </div>
  549.  
  550. <div id="panel_body">
  551. <table border="0" cellspacing="0" cellpadding="0"><tr><td width="90" valign="top">
  552.  
  553. <?php
  554.  
  555. if ((file_get_contents("data/username.txt") == $id) and (file_exists("images/avatar.jpg") or file_exists("images/avatar.gif") or file_exists("images/avatar.png"))) {
  556.  
  557.         if (file_exists("images/avatar.gif")) {
  558.  
  559.                 $avatar_gif_image_size = getimagesize("images/avatar.gif");
  560.                 $avatar_gif_image_width = $avatar_gif_image_size[0];
  561.                 $avatar_gif_image_height = $avatar_gif_image_size[1];
  562.  
  563.                 $max_avatar_gif_image_width = 80;
  564.                        
  565.                 if ($avatar_gif_image_width > $max_avatar_gif_image_width) {  
  566.                         $sizefactor = (double) ($max_avatar_gif_image_width / $avatar_gif_image_width) ;
  567.                         $avatar_gif_image_width = (int) ($avatar_gif_image_width * $sizefactor);
  568.                         $avatar_gif_image_height = (int) ($avatar_gif_image_height * $sizefactor);
  569.                 }
  570.                 echo "<img src=\"images/avatar.gif\" border=\"0\" width=\"$avatar_gif_image_width\" height=\"$avatar_gif_image_height\">";
  571.         }
  572.  
  573.         if (file_exists("images/avatar.jpg")) {
  574.  
  575.                 $avatar_jpg_image_size = getimagesize("images/avatar.jpg");
  576.                 $avatar_jpg_image_width = $avatar_jpg_image_size[0];
  577.                 $avatar_jpg_image_height = $avatar_jpg_image_size[1];
  578.                        
  579.                 $max_avatar_jpg_image_width = 80;
  580.                        
  581.                 if ($avatar_jpg_image_width > $max_avatar_jpg_image_width) {  
  582.                         $sizefactor = (double) ($max_avatar_jpg_image_width / $avatar_jpg_image_width) ;
  583.                         $avatar_jpg_image_width = (int) ($avatar_jpg_image_width * $sizefactor);
  584.                         $avatar_jpg_image_height = (int) ($avatar_jpg_image_height * $sizefactor);
  585.                 }
  586.                 echo "<img src=\"images/avatar.jpg\" border=\"0\" width=\"$avatar_jpg_image_width\" height=\"$avatar_jpg_image_height\">";
  587.         }
  588.  
  589.         if (file_exists("images/avatar.png")) {
  590.  
  591.                 $avatar_png_image_size = getimagesize("images/avatar.png");
  592.                 $avatar_png_image_width = $avatar_png_image_size[0];
  593.                 $avatar_png_image_height = $avatar_png_image_size[1];
  594.                        
  595.                 $max_avatar_png_image_width = 80;
  596.                        
  597.                 if ($avatar_png_image_width > $max_avatar_png_image_width) {  
  598.                         $sizefactor = (double) ($max_avatar_png_image_width / $avatar_png_image_width) ;
  599.                         $avatar_png_image_width = (int) ($avatar_png_image_width * $sizefactor);
  600.                         $avatar_png_image_height = (int) ($avatar_png_image_height * $sizefactor);
  601.                 }
  602.                 echo "<img src=\"images/avatar.png\" border=\"0\" width=\"$avatar_png_image_width\" height=\"$avatar_png_image_height\">";
  603.         }
  604.         echo "<br>";
  605. }
  606. else {
  607.  
  608.         if (file_exists("images/members/$id/avatar.jpg") or file_exists("images/members/$id/avatar.gif") or file_exists("images/members/$id/avatar.png")) {
  609.        
  610.                 if (file_exists("images/members/$id/avatar.gif")) {
  611.  
  612.                         $avatar_gif_image_size = getimagesize("images/members/$id/avatar.gif");
  613.                         $avatar_gif_image_width = $avatar_gif_image_size[0];
  614.                         $avatar_gif_image_height = $avatar_gif_image_size[1];
  615.        
  616.                         $max_avatar_gif_image_width = 80;
  617.                                
  618.                         if ($avatar_gif_image_width > $max_avatar_gif_image_width) {  
  619.                                 $sizefactor = (double) ($max_avatar_gif_image_width / $avatar_gif_image_width) ;
  620.                                 $avatar_gif_image_width = (int) ($avatar_gif_image_width * $sizefactor);
  621.                                 $avatar_gif_image_height = (int) ($avatar_gif_image_height * $sizefactor);
  622.                         }
  623.                         echo "<img src=\"images/members/$id/avatar.gif\" border=\"0\" width=\"$avatar_gif_image_width\" height=\"$avatar_gif_image_height\">";
  624.                 }
  625.  
  626.  
  627.                 if (file_exists("images/members/$id/avatar.jpg")) {
  628.  
  629.                         $avatar_jpg_image_size = getimagesize("images/members/$id/avatar.jpg");
  630.                         $avatar_jpg_image_width = $avatar_jpg_image_size[0];
  631.                         $avatar_jpg_image_height = $avatar_jpg_image_size[1];
  632.                        
  633.                         $max_avatar_jpg_image_width = 80;
  634.                        
  635.                         if ($avatar_jpg_image_width > $max_avatar_jpg_image_width) {  
  636.                                 $sizefactor = (double) ($max_avatar_jpg_image_width / $avatar_jpg_image_width) ;
  637.                                 $avatar_jpg_image_width = (int) ($avatar_jpg_image_width * $sizefactor);
  638.                                 $avatar_jpg_image_height = (int) ($avatar_jpg_image_height * $sizefactor);
  639.                         }
  640.                         echo "<img src=\"images/members/$id/avatar.jpg\" border=\"0\" width=\"$avatar_jpg_image_width\" height=\"$avatar_jpg_image_height\">";
  641.                 }
  642.  
  643.                 if (file_exists("images/members/$id/avatar.png")) {
  644.  
  645.                         $avatar_png_image_size = getimagesize("images/members/$id/avatar.png");
  646.                         $avatar_png_image_width = $avatar_png_image_size[0];
  647.                         $avatar_png_image_height = $avatar_png_image_size[1];
  648.                        
  649.                         $max_avatar_png_image_width = 80;
  650.                        
  651.                         if ($avatar_png_image_width > $max_avatar_png_image_width) {  
  652.                                 $sizefactor = (double) ($max_avatar_png_image_width / $avatar_png_image_width) ;
  653.                                 $avatar_png_image_width = (int) ($avatar_png_image_width * $sizefactor);
  654.                                 $avatar_png_image_height = (int) ($avatar_png_image_height * $sizefactor);
  655.                         }
  656.                         echo "<img src=\"images/members/$id/avatar.png\" border=\"0\" width=\"$avatar_png_image_width\" height=\"$avatar_png_image_height\">";
  657.                 }
  658.                 echo "<br>";
  659.         }
  660. }
  661.  
  662. echo "<b>$id</b><br>";
  663.  
  664. if ((file_get_contents("data/username.txt") == $id) and file_exists("data/rank.txt")) {
  665.         echo "administrator";
  666. }
  667. elseif (file_exists("data/members/active/$id/rank.txt") and file_exists("data/rank.txt")) {
  668.         $rank = file_get_contents("data/members/active/$id/rank.txt");
  669.         echo "$rank";
  670. }
  671. elseif (!file_exists("data/members/active/$id/rank.txt") and file_exists("data/rank.txt")) {
  672.         echo "member";
  673. }
  674.  
  675. ?>
  676.  
  677.  
  678. </td><td width="435" valign="top"><table border="0" cellspacing="0" cellpadding="2">
  679.  
  680. <?php
  681.  
  682. if ((file_get_contents("data/username.txt") == $id) and file_exists("data/url.txt") and isset($_SESSION['logged_in']) and !empty($_SESSION['logged_in'])) {
  683.         $member_url = file_get_contents("data/url.txt");
  684.         echo "<tr><td width=90>website</td><td><a href=$member_url target=_majbb><code>$member_url</code></a></td></tr>";
  685. }
  686. elseif (file_exists("data/members/active/$id/url.txt") and isset($_SESSION['logged_in']) and !empty($_SESSION['logged_in'])) {
  687.         $member_url = file_get_contents("data/members/active/$id/url.txt");
  688.         echo "<tr><td width=90>website</td><td><a href=$member_url target=_majbb><code>$member_url</code></a></td></tr>";
  689. }
  690.  
  691. if (file_exists("data/members/active/$id/bday.txt") and ($_SESSION['logged_in'] == file_get_contents("data/username.txt"))) {
  692.         $bday = file_get_contents("data/members/active/$id/bday.txt");
  693.         $bday_year = substr($bday,0,4);
  694.         $bday_month = substr($bday,4,2);
  695.         $bday_day = substr($bday,6,2);
  696.         $bday = date("d M Y [D]", mktime(0, 0, 0, $bday_month, $bday_day, $bday_year));
  697.         echo "<tr><td width=90>birthdate</td><td><code>$bday</code></td></tr>";
  698. }
  699.  
  700. if (file_exists("data/members/active/$id/timestamp.txt")) {
  701.         $joined = file_get_contents("data/members/active/$id/timestamp.txt");
  702.         $joined_year = substr($joined,0,4);
  703.         $joined_month = substr($joined,4,2);
  704.         $joined_day = substr($joined,6,2);
  705.         $joined_hh = substr($joined,8,2);
  706.         $joined_mm = substr($joined,10,2);
  707.         $member_since = date("d M Y H:i", mktime($joined_hh, $joined_mm, 0, $joined_month, $joined_day, $joined_year));
  708.         echo "<tr><td width=90>member since</td><td><code>$member_since</code></td></tr>";
  709. }
  710.  
  711. if ((file_get_contents("data/username.txt") == $id) and file_exists("data/lastlog.txt")) {
  712.         $lastlog = file_get_contents("data/lastlog.txt");
  713.         $lastlog_year = substr($lastlog,0,4);
  714.         $lastlog_month = substr($lastlog,4,2);
  715.         $lastlog_day = substr($lastlog,6,2);
  716.         $lastlog_hh = substr($lastlog,8,2);
  717.         $lastlog_mm = substr($lastlog,10,2);
  718.         $last_login = date("d M Y H:i", mktime($lastlog_hh, $lastlog_mm, 0, $lastlog_month, $lastlog_day, $lastlog_year));
  719.         echo "<tr><td width=90>last login</td><td><code>$last_login</code></td></tr>";
  720. }
  721. elseif (file_exists("data/members/active/$id/bb-last.txt")) {
  722.         $lastlog = file_get_contents("data/members/active/$id/bb-last.txt");
  723.         $lastlog_year = substr($lastlog,0,4);
  724.         $lastlog_month = substr($lastlog,4,2);
  725.         $lastlog_day = substr($lastlog,6,2);
  726.         $lastlog_hh = substr($lastlog,8,2);
  727.         $lastlog_mm = substr($lastlog,10,2);
  728.         $last_login = date("d M Y H:i", mktime($lastlog_hh, $lastlog_mm, 0, $lastlog_month, $lastlog_day, $lastlog_year));
  729.         echo "<tr><td width=90>last login</td><td><code>$last_login</code></td></tr>";
  730. }
  731.  
  732. if ((file_get_contents("data/username.txt") == $id) and file_exists("data/lastpost.txt")) {
  733.         $lastpost = file_get_contents("data/lastpost.txt");
  734.         $lastpost_year = substr($lastpost,0,4);
  735.         $lastpost_month = substr($lastpost,4,2);
  736.         $lastpost_day = substr($lastpost,6,2);
  737.         $lastpost_hh = substr($lastpost,8,2);
  738.         $lastpost_mm = substr($lastpost,10,2);
  739.         $last_post = date("d M Y H:i", mktime($lastpost_hh, $lastpost_mm, 0, $lastpost_month, $lastpost_day, $lastpost_year));
  740.         echo "<tr><td width=90>last post</td><td><code>$last_post</code></td></tr>";
  741. }
  742. elseif (file_exists("data/members/active/$id/bb-post.txt")) {
  743.         $lastpost = file_get_contents("data/members/active/$id/bb-post.txt");
  744.         $lastpost_year = substr($lastpost,0,4);
  745.         $lastpost_month = substr($lastpost,4,2);
  746.         $lastpost_day = substr($lastpost,6,2);
  747.         $lastpost_hh = substr($lastpost,8,2);
  748.         $lastpost_mm = substr($lastpost,10,2);
  749.         $last_post = date("d M Y H:i", mktime($lastpost_hh, $lastpost_mm, 0, $lastpost_month, $lastpost_day, $lastpost_year));
  750.         echo "<tr><td width=90>last post</td><td><code>$last_post</code></td></tr>";
  751. }
  752.  
  753. if (file_get_contents("data/username.txt") == $id) {
  754.         if (!file_exists("data/bb-views.txt")) {
  755.                 $views = 0;
  756.         }
  757.         else {
  758.                 $views = file_get_contents("data/bb-views.txt");
  759.         }
  760.         if (!isset($_SESSION['logged_in']) or empty($_SESSION['logged_in']) or (isset($_SESSION['logged_in']) and ($_SESSION['logged_in'] != file_get_contents("data/username.txt")))) {
  761.                 $views = $views + 1;
  762.                 $views_file = fopen("data/bb-views.txt", "w");
  763.                 fwrite($views_file, $views);
  764.                 fclose($views_file);
  765.         }
  766.         echo "<tr><td width=90>profile views</td><td><code>$views</code></td></tr>";
  767. }
  768. elseif (file_exists("data/members/active/$id")) {
  769.  
  770.         if (!file_exists("data/members/active/$id/bb-views.txt")) {
  771.                 $views = 0;
  772.         }
  773.         else {
  774.                 $views = file_get_contents("data/members/active/$id/bb-views.txt");
  775.         }
  776.  
  777.         if (!isset($_SESSION['logged_in']) or empty($_SESSION['logged_in']) or (isset($_SESSION['logged_in']) and ($_SESSION['logged_in'] != $id))) {
  778.  
  779.                 if (!isset($_SESSION['logged_in']) or empty($_SESSION['logged_in']) or (isset($_SESSION['logged_in']) and ($_SESSION['logged_in'] != file_get_contents("data/username.txt")))) {
  780.                         $views = $views + 1;
  781.                         $views_file = fopen("data/members/active/$id/bb-views.txt", "w");
  782.                         fwrite($views_file, $views);
  783.                         fclose($views_file);
  784.                 }
  785.         }
  786.         echo "<tr><td width=90>profile views</td><td><code>$views</code></td></tr>";
  787. }
  788.  
  789. if ((file_get_contents("data/username.txt") == $id) and file_exists("data/logins.txt")) {
  790.         $logins = file_get_contents("data/logins.txt");
  791.         echo "<tr><td width=90>total logins</td><td><code>$logins</code></td></tr>";
  792. }
  793. elseif (file_exists("data/members/active/$id") and file_exists("data/members/active/$id/bb-logins.txt")) {
  794.         $logins = file_get_contents("data/members/active/$id/bb-logins.txt");
  795.         echo "<tr><td width=90>total logins</td><td><code>$logins</code></td></tr>";
  796. }
  797.  
  798. if ($dh_posts = opendir("data/items")) {
  799.  
  800.         while (($member_posts = readdir($dh_posts)) !== false) {
  801.  
  802.                 if ($member_posts != "." && $member_posts != "..") {
  803.        
  804.                         $total_posts[] = $member_posts;
  805.        
  806.                         if (file_exists("data/items/$member_posts/private.txt") and (!isset($_SESSION['logged_in']) or ($_SESSION['logged_in'] != $login_username))) {
  807.                                 continue;
  808.                         }
  809.        
  810.                         $private_cat = "0";
  811.                                
  812.                         if (file_exists("data/items/$member_posts/categories")) {
  813.                                                
  814.                                 if ($dh_member_posts_cat2 = opendir("data/items/$member_posts/categories")) {
  815.                                                        
  816.                                         while (($member_posts_cat2 = readdir($dh_member_posts_cat2)) !== false) {
  817.                                                        
  818.                                                 if ($member_posts_cat2 != "." && $member_posts_cat2 != "..") {
  819.        
  820.                                                         if (file_exists("data/categories/$member_posts_cat2/private.txt")) {
  821.                                                                 $private_cat = $private_cat + 1;
  822.                                                         }
  823.                                                 }
  824.                                         }
  825.                                         closedir($dh_member_posts_cat2);
  826.                                 }
  827.                         }
  828.                        
  829.                         if (($private_cat > 0) and (!isset($_SESSION['logged_in']) or ($_SESSION['logged_in'] != $login_username)) and !file_exists("data/items/$member_posts/cat.txt")) {
  830.                                 continue;
  831.                         }
  832.        
  833.                         if (file_exists("data/members/active/$id") and file_exists("data/bb.txt")) {
  834.  
  835.                                 if (file_exists("data/items/$member_posts/author.txt") and (file_get_contents("data/items/$member_posts/author.txt") == $id)) {
  836.                                         $items_posts[] = $member_posts;
  837.                                 }
  838.                         }
  839.                         elseif (!file_exists("data/members/active/$id") and (file_get_contents("data/username.txt") == $id) and file_exists("data/bb.txt")) {
  840.  
  841.                                 if (file_exists("data/items/$member_posts/author.txt") and (file_get_contents("data/items/$member_posts/author.txt") == $id)) {
  842.                                         $items_posts[] = $member_posts;
  843.                                 }
  844.                         }
  845.                 }
  846.         }
  847.         closedir($dh_posts);
  848. }
  849.  
  850. $posts = count($items_posts);
  851. $all_posts = count($total_posts);
  852. $ratio_posts = (($posts/$all_posts) * 100);
  853. $ratio_posts = number_format($ratio_posts,2);
  854.  
  855. echo "<tr><td width=90>total posts</td><td><code>$posts</code></td></tr>";
  856. echo "<tr><td width=90>&nbsp;</td><td><code>{$ratio_posts}% of total</code></td></tr>";
  857.  
  858. if ($posts > 0) {
  859.         echo "<tr><td width=90>&nbsp;</td><td><a href=index.php?author=$id><code>find all posts by $id</code></a></td></tr>";
  860. }
  861.  
  862. unset($items_posts);
  863. unset($total_posts);
  864.  
  865. ?>
  866.  
  867. <tr><td>permissions</td><td><code>
  868.  
  869. <?php
  870.  
  871. if ($id == file_get_contents("data/username.txt")) {
  872.         echo "rw";
  873. }
  874.  
  875. if (($id != file_get_contents("data/username.txt")) and file_exists("data/members/active/$id")) {
  876.  
  877.         if (file_exists("data/members/active/$id/rw.txt")) {
  878.                 echo "rw";
  879.         }
  880.         else {
  881.                 echo "ro";
  882.         }
  883. }
  884.  
  885. if (($id != file_get_contents("data/username.txt")) and file_exists("data/members/active/$id")) {
  886.  
  887.         if (file_exists("data/members/active/$id/ul.txt")) {
  888.                 echo " upload";
  889.         }
  890. }
  891.  
  892. ?>
  893.  
  894. </code></td></tr>
  895.  
  896. <?php
  897.  
  898. if (($id != file_get_contents("data/username.txt")) and file_exists("data/members/active/$id")) {
  899.  
  900.         if (file_exists("data/members/active/$id/category.txt")) {
  901.  
  902.                 $bb_cat = file_get_contents("data/members/active/$id/category.txt");
  903.  
  904.                 if (!file_exists("data/categories/$bb_cat")) {
  905.                         unlink("data/members/active/$id/category.txt");
  906.                 }
  907.         }
  908.  
  909.         if (file_exists("data/members/active/$id/category.txt")) {
  910.  
  911.                 echo "<tr><td>group (rw)</td><td><code>";
  912.  
  913.                 $category_name = file_get_contents("data/members/active/$id/category.txt");
  914.  
  915.                 if (file_exists("data/categories/$category_name/title.txt")) {
  916.                         readfile("data/categories/$category_name/title.txt");
  917.                 }
  918.                 else {
  919.                         echo $category_name;
  920.                 }
  921.                 echo "</code></td></tr>";
  922.         }
  923. }
  924.  
  925. ?>
  926.  
  927. <tr><td>status</td><td><code>
  928.  
  929. <?php
  930.  
  931. $sess_dir = session_save_path();
  932.  
  933. if (file_exists("data/bb-idle.txt")) {
  934.         $idle = file_get_contents("data/bb-idle.txt");
  935. }
  936. else {
  937.         $idle = 15;
  938. }
  939.  
  940. $sess_count = 0;
  941.  
  942. if (is_dir($sess_dir)) {
  943.  
  944.         if ($sess_dh = opendir($sess_dir)) {
  945.  
  946.                 while (($sess_file = readdir($sess_dh)) !== false) {
  947.  
  948.                         if ($sess_file != '.' && $sess_file != '..') {
  949.  
  950.                                 if ((time() - fileatime("$sess_dir/$sess_file")) < ($idle * 60)) {
  951.                        
  952.                                         $sess_content = file_get_contents("$sess_dir/$sess_file");
  953.                        
  954.                                         if (preg_match("/logged_in/",$sess_content) and preg_match("/$maj_server/",$sess_content) and preg_match("/$id/",$sess_content)) {
  955.                                                 $sess_count++;
  956.                                         }
  957.                                 }
  958.                         }
  959.                 }
  960.                 closedir($sess_dh);
  961.         }
  962. }
  963.  
  964. if ($sess_count > 0) {
  965.         echo "online";
  966. }
  967. else {
  968.         echo "offline";
  969. }
  970.  
  971. $sess_count = 0;
  972.  
  973. ?>
  974.  
  975. </code></td></tr>
  976.  
  977. </table></td></tr></table></div>
  978.  
  979. <div id="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">
  980.  
  981. <?php
  982.  
  983. if (isset($_SESSION['logged_in'])) {
  984.         echo "logout";
  985. }
  986. else {
  987.         echo "login";
  988. }
  989.  
  990. ?>
  991.  
  992. </a></font></div>
  993. </td></tr></table>
  994.  
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
35387 downloads
MAJ 1.0
26 files
14152 downloads
MAJ 0.14
45 files
36716 downloads