| | 852 | //}}}----------------------------------------- |
| | 853 | //{{{ show_menuitems(): show custom menu items |
| | 854 | //-------------------------------------------- |
| | 855 | function show_menuitems() { |
| | 856 | global $db; |
| | 857 | /* get settings from db */ |
| | 858 | $settings = array(); |
| | 859 | $sql = "SELECT * FROM menulinks ORDER BY sortorder"; |
| | 860 | $res =& $db->query($sql); |
| | 861 | ?> |
| | 862 | <div class="log_post"> |
| | 863 | <div class="log_head"> |
| | 864 | <span class="log_subject"> |
| | 865 | Menu items |
| | 866 | </span> |
| | 867 | </div> |
| | 868 | <div class="log_body"> |
| | 869 | <span class="log_contents"> |
| | 870 | <form name="settings" id="settingsform" method="post" action="index.php"> |
| | 871 | <input type="hidden" name="action" value="save_menuitems" /> |
| | 872 | <? |
| | 873 | while ($res->fetchInto($row, DB_FETCHMODE_ASSOC)) { |
| | 874 | ?> |
| | 875 | <table border="0" cellspacing="1" cellpadding="0"><tr> |
| | 876 | <td>name</td> |
| | 877 | <td><input style="width: 300px;" type="text" name="link[<?=$row["id"]?>][linktitle]" value="<?=$row["linktitle"]?>" /></td> |
| | 878 | </tr><tr> |
| | 879 | <td>link</td> |
| | 880 | <td><input style="width: 300px;" type="text" name="link[<?=$row["id"]?>][url]" value="<?=$row["url"]?>" /></td> |
| | 881 | </tr><tr> |
| | 882 | <td>image</td> |
| | 883 | <td><input style="width: 300px;" type="text" name="link[<?=$row["id"]?>][image]" value="<?=$row["image"]?>" /></td> |
| | 884 | </tr><tr> |
| | 885 | <td>pos</td> |
| | 886 | <td> |
| | 887 | <input style="width: 30px;" type="text" name="link[<?=$row["id"]?>][sortorder]" value="<?=$row["sortorder"]?>" /> |
| | 888 | <input type="button" name="del" value="del" onclick="document.getElementById('state_<?=$row["id"]?>').value='delete'; document.getElementById('settingsform').submit();"> |
| | 889 | </td> |
| | 890 | </tr></table> |
| | 891 | <input type="hidden" id="state_<?=$row["id"]?>" name="link[<?=$row["id"]?>][state]" value="save" /> |
| | 892 | <hr> |
| | 893 | <? |
| | 894 | } |
| | 895 | ?> |
| | 896 | <table border="0" cellspacing="1" cellpadding="0"><tr> |
| | 897 | <td>name</td> |
| | 898 | <td><input style="width: 300px;" type="text" name="link[0][linktitle]" value="" /></td> |
| | 899 | </tr><tr> |
| | 900 | <td>link</td> |
| | 901 | <td><input style="width: 300px;" type="text" name="link[0][url]" value="" /></td> |
| | 902 | </tr><tr> |
| | 903 | <td>image</td> |
| | 904 | <td><input style="width: 300px;" type="text" name="link[0][image]" value="" /></td> |
| | 905 | </tr><tr> |
| | 906 | <td>pos</td> |
| | 907 | <td> |
| | 908 | <input style="width: 30px;" type="text" name="link[0][sortorder]" value="" /> |
| | 909 | </td> |
| | 910 | </tr></table> |
| | 911 | <input type="hidden" id="state_<?=$row["id"]?>" name="link[0][state]" value="save" /> |
| | 912 | <hr> |
| | 913 | <input type="submit" value="save all" /> |
| | 914 | </form> |
| | 915 | </span> |
| | 916 | </div> |
| | 917 | </div> |
| | 918 | <? |
| | 919 | } |
| | 920 | |
| | 921 | //}}}----------------------------------------------------- |
| | 922 | //{{{ save_menuitems(links): store/remove database entries |
| | 923 | //-------------------------------------------------------- |
| | 924 | function save_menuitems($links) { |
| | 925 | global $db; |
| | 926 | /* walk through all the links */ |
| | 927 | if (is_array($links)) { |
| | 928 | foreach ($links as $k=>$v) { |
| | 929 | /* new item always has $k == 0 */ |
| | 930 | if ($k == 0) { |
| | 931 | if (strlen(trim($v["linktitle"])) && strlen(trim($v["url"]))) { |
| | 932 | $sql = "INSERT INTO menulinks (url, linktitle, image, sortorder) VALUES "; |
| | 933 | $sql .= sprintf("('%s', '%s', '%s', %d)", $v["url"], $v["linktitle"], $v["image"], $v["sortorder"]); |
| | 934 | $res = $db->query($sql); |
| | 935 | } |
| | 936 | } else { |
| | 937 | /* from db. this can be either be marked as delete or save */ |
| | 938 | if ($v["state"] == "delete") { |
| | 939 | $sql = sprintf("DELETE FROM menulinks WHERE id=%d", $k); |
| | 940 | $res = $db->query($sql); |
| | 941 | } elseif ($v["state"] == "save") { |
| | 942 | $sql = "UPDATE menulinks SET "; |
| | 943 | $sql .= sprintf("url='%s'", $v["url"]); |
| | 944 | $sql .= sprintf(", linktitle='%s'", $v["linktitle"]); |
| | 945 | $sql .= sprintf(", image='%s'", $v["image"]); |
| | 946 | $sql .= sprintf(", sortorder=%d", $v["sortorder"]); |
| | 947 | $sql .= sprintf(" WHERE id=%d", $k); |
| | 948 | $res = $db->query($sql); |
| | 949 | } |
| | 950 | } |
| | 951 | } |
| | 952 | } |
| | 953 | header("Location: index.php?action=show_menuitems"); |
| | 954 | } |
| | 955 | |