| 315 | | $query = "INSERT INTO articles (title, body, authors_id, categories_id, date, active, public, aside, mail_comments, ping_sent, tb_uri)"; |
| 316 | | $query .= sprintf("VALUES ('%s', '%s', %d, %d, %d, %d, %d, %d, %d, %d, '%s')", |
| | 318 | $query = "INSERT INTO articles (title, body, authors_id, categories_id, date, active, public, aside, mail_comments, ping_sent, tb_uri, allowanoncomments)"; |
| | 319 | $query .= sprintf("VALUES ('%s', '%s', %d, %d, %d, %d, %d, %d, %d, %d, '%s', %d)", |
| 789 | | |
| | 792 | //}}}------------------------------------ |
| | 793 | //{{{ show_users(); Show registered users |
| | 794 | //--------------------------------------- |
| | 795 | function show_users() { |
| | 796 | global $db; |
| | 797 | $res =& $db->query("SELECT * FROM blog_users ORDER BY username"); |
| | 798 | if (PEAR::isError($res)) { |
| | 799 | die($res->getMessage()); |
| | 800 | } |
| | 801 | |
| | 802 | ?><a href="./index.php?action=edit_author&id=0">create new</a><? |
| | 803 | while ($res->fetchInto($row, DB_FETCHMODE_ASSOC)) { |
| | 804 | ?> |
| | 805 | <div class="log_post"> |
| | 806 | <div class="log_head"> |
| | 807 | <span class="log_subject"> |
| | 808 | |
| | 809 | <a href="?action=edit_user&id=<?=$row["id"]?>"> |
| | 810 | <?=stripslashes($row["realname"])?> |
| | 811 | <? if ($row["active"]) { ?> |
| | 812 | (active) |
| | 813 | <? } else { ?> |
| | 814 | (inactive) |
| | 815 | <? } ?> |
| | 816 | </a> |
| | 817 | <span class="log_cat"> |
| | 818 | loginname: <?=stripslashes($row["username"])?> |
| | 819 | </span> |
| | 820 | </span> |
| | 821 | </div> |
| | 822 | <div class="log_foot"> |
| | 823 | </div> |
| | 824 | </div> |
| | 825 | <? |
| | 826 | } |
| | 827 | |
| | 828 | } |
| | 829 | //}}}------------------------------------------------- |
| | 830 | //{{{ edit_user($userid): show form to manipulate user |
| | 831 | //---------------------------------------------------- |
| | 832 | function edit_user($userid) { |
| | 833 | global $db; |
| | 834 | if ($userid==0) { |
| | 835 | $user["id"] = 0; |
| | 836 | $user["username"] = "login"; |
| | 837 | $user["password"] = ""; |
| | 838 | $user["email"] = ""; |
| | 839 | $user["realname"] = ""; |
| | 840 | $user["active"] = 1; |
| | 841 | $user["website"] = "http://"; |
| | 842 | } else { |
| | 843 | $res =& $db->query(sprintf("SELECT * FROM blog_users WHERE id = %d", $userid)); |
| | 844 | if (PEAR::isError($res)) { |
| | 845 | die($res->getMessage()); |
| | 846 | } |
| | 847 | $res->fetchInto($user, DB_FETCHMODE_ASSOC); |
| | 848 | } |
| | 849 | if ($_REQUEST["error"]) { |
| | 850 | echo "<font color=\"red\">".stripslashes(_strip_tags($_REQUEST["error"]))."</font>"; |
| | 851 | } |
| | 852 | ?> |
| | 853 | <form name="user" method="post" action="index.php"> |
| | 854 | <input type="hidden" name="action" value="save_user" /> |
| | 855 | <input type="hidden" name="user[id]" value="<?=$user["id"]?>" /> |
| | 856 | <input type="hidden" id="active" name="user[active]" value="<?=$user["active"]?>" /> |
| | 857 | <div class="log_post"> |
| | 858 | <div class="log_head"> |
| | 859 | <span class="log_subject"> |
| | 860 | <? if ($userid) { ?> |
| | 861 | <?=stripslashes($user["username"])?> |
| | 862 | <? } else { ?> |
| | 863 | login: <input type="text" name="user[username]" value="<?=stripslashes($user["username"])?>" /> |
| | 864 | <? } ?> |
| | 865 | </span> |
| | 866 | </div> |
| | 867 | <div class="log_body"> |
| | 868 | <span class="log_contents"> |
| | 869 | <table border="0" cellspacing="0" cellpadding="0"><tr> |
| | 870 | <td align="right">password:</td> |
| | 871 | <td><input type="password" name="user[password]" /></td> |
| | 872 | </tr><tr> |
| | 873 | <td align="right">password(repeat):</td> |
| | 874 | <td><input type="password" name="user[password1]" /></td> |
| | 875 | </tr><tr> |
| | 876 | <td align="right">email:</td> |
| | 877 | <td><input type="text" name="user[email]" value="<?=stripslashes($user["email"])?>" /></td> |
| | 878 | </tr><tr> |
| | 879 | <td align="right">website:</td> |
| | 880 | <td><input type="text" name="user[website]" value="<?=stripslashes($user["website"])?>" /></td> |
| | 881 | </tr><tr> |
| | 882 | <td align="right">full name: </td> |
| | 883 | <td><input type="text" name="user[realname]" value="<?=stripslashes($user["realname"])?>" /></td> |
| | 884 | </tr></table> |
| | 885 | </span> |
| | 886 | <input type="submit" value="save" /> |
| | 887 | <? if ($userid) { ?> |
| | 888 | <? if ($user["active"]) { ?> |
| | 889 | <input type="button" value="disable" onClick="document.forms.user.active.value=0;document.forms.user.action.value='save_user';document.forms.user.submit();" /> |
| | 890 | <? } else { ?> |
| | 891 | <input type="button" value="enable" onClick="document.forms.user.active.value=1;document.forms.user.action.value='save_user';document.forms.user.submit();" /> |
| | 892 | <? } ?> |
| | 893 | <input type="button" value="delete" onclick="del_user();" /> |
| | 894 | <? } ?> |
| | 895 | </div> |
| | 896 | <div class="log_foot"> |
| | 897 | <script language="Javascript1.2" type="text/javascript"> |
| | 898 | function del_user() { |
| | 899 | if (confirm('Are you sure you want to delete this user')) { |
| | 900 | document.forms.user.action.value='delete_user'; |
| | 901 | document.forms.user.submit(); |
| | 902 | } |
| | 903 | } |
| | 904 | </script> |
| | 905 | </div> |
| | 906 | </div> |
| | 907 | </form> |
| | 908 | <? |
| | 909 | } |
| | 910 | //}}}----------------------------------------------------- |
| | 911 | //{{{ save_user($user): store new/altered user in database |
| | 912 | //-------------------------------------------------------- |
| | 913 | function save_user($user) { |
| | 914 | global $db; |
| | 915 | if ($user["password"] && $user["password1"]) { |
| | 916 | if ($user["password"] != $user["password1"]) { |
| | 917 | $error = "Passwords don't match. Please correct this error and try again."; |
| | 918 | } |
| | 919 | } |
| | 920 | //make sure we are not inserting double loginnames |
| | 921 | if (!$user["id"]) { |
| | 922 | $res =& $db->query("SELECT COUNT(*) FROM blog_users WHERE username='".$user["username"]."'"); |
| | 923 | $res->fetchInto($count); |
| | 924 | if ($count[0]) { |
| | 925 | $error = "Login already excists. Please correct this error and try again."; |
| | 926 | } |
| | 927 | } |
| | 928 | if (!$error) { |
| | 929 | if ($user["id"]) { |
| | 930 | $query = sprintf("UPDATE blog_users SET realname = '%s', email = '%s', website = '%s', active = %d", |
| | 931 | preg_quote(strip_tags($user["realname"]), "'"), |
| | 932 | preg_quote(strip_tags($user["email"]), "'"), |
| | 933 | preg_quote(strip_tags($user["website"]), "'"), |
| | 934 | $user["active"] |
| | 935 | ); |
| | 936 | if (trim($user["password"])) { |
| | 937 | $query .= sprintf(", password = '%s'", trim(preg_quote(strip_tags($user["password"]), "'"))); |
| | 938 | } |
| | 939 | $query .= sprintf(" WHERE id = %d", $user["id"]); |
| | 940 | } else { |
| | 941 | $query = sprintf("INSERT INTO blog_users (password, realname, email, website, username, active) VALUES ('%s', '%s', '%s', '%s', '%s', %d)", |
| | 942 | preg_quote(strip_tags(trim($user["password"])), "'"), |
| | 943 | preg_quote(strip_tags($user["realname"]), "'"), |
| | 944 | preg_quote(strip_tags($user["email"]), "'"), |
| | 945 | preg_quote(strip_tags($user["website"]), "'"), |
| | 946 | preg_quote(strip_tags($user["username"]), "'"), |
| | 947 | $user["active"] |
| | 948 | ); |
| | 949 | } |
| | 950 | $res =& $db->query($query); |
| | 951 | if (PEAR::isError($res)) { |
| | 952 | die($res->getUserInfo()); |
| | 953 | } |
| | 954 | header("Location: index.php?action=show_users"); |
| | 955 | } else { |
| | 956 | header("Location: index.php?action=edit_user&id=".$user["id"]."&error=$error"); |
| | 957 | } |
| | 958 | } |
| | 959 | //}}}------------------------------------------------ |
| | 960 | //{{{ delete_user($userid): remove user from database |
| | 961 | //--------------------------------------------------- |
| | 962 | function delete_user($userid) { |
| | 963 | $userid = sprintf("%d", $userid); |
| | 964 | if ($userid > 0) { |
| | 965 | /* check if user is in database */ |
| | 966 | $sql = sprintf("SELECT COUNT(*) FROM blog_users WHERE id = %d", $userid); |
| | 967 | $res =& $GLOBALS["db"]->query($sql); |
| | 968 | $res->fetchInto($row); |
| | 969 | if ($row[0] > 0) { |
| | 970 | $sql = sprintf("DELETE FROM blog_users WHERE id = %d", $userid); |
| | 971 | $res = $GLOBALS["db"]->query($sql); |
| | 972 | } |
| | 973 | } |
| | 974 | header("Location: index.php?action=show_users"); |
| | 975 | } |