| | 763 | //}}}--------------------------------------- |
| | 764 | //{{{ show_settings(); show the blogsettings |
| | 765 | //------------------------------------------ |
| | 766 | function show_settings() { |
| | 767 | global $db; |
| | 768 | /* get settings from db */ |
| | 769 | $settings = array(); |
| | 770 | $sql = "SELECT * FROM settings"; |
| | 771 | $res =& $db->query($sql); |
| | 772 | while ($res->fetchInto($row, DB_FETCHMODE_ASSOC)) { |
| | 773 | $settings[$row["settingname"]] = $row["settingvalue"]; |
| | 774 | } |
| | 775 | ?> |
| | 776 | <div class="log_post"> |
| | 777 | <div class="log_head"> |
| | 778 | <span class="log_subject"> |
| | 779 | Blogsettings |
| | 780 | </span> |
| | 781 | </div> |
| | 782 | <div class="log_body"> |
| | 783 | <span class="log_contents"> |
| | 784 | <form name="settings" method="post" action="index.php"> |
| | 785 | <input type="hidden" name="action" value="save_settings" /> |
| | 786 | <table border="0" cellspacing="0" cellpadding="0"><tr> |
| | 787 | <td style="vertical-align: top;">blog title</td> |
| | 788 | <td><input type="text" style="width: 200px;" name="settings[blogtitle]" value="<?=$settings["blogtitle"]?>" /></td> |
| | 789 | </tr><tr> |
| | 790 | <td style="vertical-align: top;">blog description:</td> |
| | 791 | <td><textarea name="settings[blogdescription]" style="width: 200px; height: 100px;"><?=$settings["blogdescription"]?></textarea></td> |
| | 792 | </tr><tr> |
| | 793 | <td style="vertical-align: top;">posts per page</td> |
| | 794 | <td> |
| | 795 | <select name="settings[postsperpage]"> |
| | 796 | <option value="10"<? if ($settings["postsperpage"] == 10) { echo " SELECTED"; } ?>>10</option> |
| | 797 | <option value="20"<? if ($settings["postsperpage"] == 20) { echo " SELECTED"; } ?>>20</option> |
| | 798 | <option value="50"<? if ($settings["postsperpage"] == 50) { echo " SELECTED"; } ?>>50</option> |
| | 799 | <option value="75"<? if ($settings["postsperpage"] == 75) { echo " SELECTED"; } ?>>75</option> |
| | 800 | <option value="100"<? if ($settings["postsperpage"] == 100) { echo " SELECTED"; } ?>>100</option> |
| | 801 | </select> |
| | 802 | </td> |
| | 803 | </tr><tr> |
| | 804 | <td colspan="2"> </td> |
| | 805 | </tr><tr> |
| | 806 | <td> </td> |
| | 807 | <td><input type="submit" value="save" /></td> |
| | 808 | </tr></table> |
| | 809 | </form> |
| | 810 | </span> |
| | 811 | </div> |
| | 812 | <div class="log_foot"> |
| | 813 | </div> |
| | 814 | </div> |
| | 815 | <? |
| | 816 | } |
| | 817 | |
| | 818 | //}}}----------------------------------- |
| | 819 | //{{{ save_settings: save settings to db |
| | 820 | //-------------------------------------- |
| | 821 | function save_settings($settings) { |
| | 822 | global $db; |
| | 823 | $queries = array(); |
| | 824 | /* get current settings */ |
| | 825 | $sql = "SELECT * FROM settings"; |
| | 826 | $res =& $db->query($sql); |
| | 827 | while ($res->fetchInto($row, DB_FETCHMODE_ASSOC)) { |
| | 828 | $settings_db[$row["settingname"]]["id"] = $row["id"]; |
| | 829 | $settings_db[$row["settingname"]]["val"] = $row["settingvalue"]; |
| | 830 | } |
| | 831 | /* construct queries to sync database with userinput */ |
| | 832 | foreach ($settings as $key=>$val) { |
| | 833 | if (array_key_exists($key, $settings_db)) { |
| | 834 | //setting was there, we need to UPDATE it |
| | 835 | $queries[] = sprintf("UPDATE settings SET settingvalue='%s' WHERE settingname='%s'", $val, $key); |
| | 836 | } else { |
| | 837 | //setting was not there, we need to INSERT it |
| | 838 | $queries[] = sprintf("INSERT INTO settings (settingname, settingvalue) VALUES ('%s','%s')", $key, $val); |
| | 839 | } |
| | 840 | } |
| | 841 | /* run queries against db */ |
| | 842 | foreach ($queries as $q) { |
| | 843 | $res =& $db->query($q); |
| | 844 | if (PEAR::isError($res)) { |
| | 845 | die($res->getUserInfo()); |
| | 846 | } |
| | 847 | } |
| | 848 | /* return to blogsettings view */ |
| | 849 | header("Location: index.php?action=show_settings"); |
| | 850 | } |
| | 851 | |