Revision 273
Added by ryan almost 20 years ago
| branches/2.6.x/CHANGELOG | ||
|---|---|---|
| 1 |
Change Log |
|
| 2 |
=============================================================================== |
|
| 3 |
Please note: This change log may not be accurate |
|
| 4 |
|
|
| 5 |
$Id$ |
|
| 6 |
|
|
| 7 |
Legend: |
|
| 8 |
+ = Added |
|
| 9 |
- = Removed |
|
| 10 |
# = Bugfix |
|
| 11 |
! = Update/Change |
|
| 12 |
|
|
| 13 |
------------------------------------- 2.6.1 ------------------------------------- |
|
| 14 |
12-Dec-2005 Ryan Djurovich |
|
| 15 |
# Fixed security vulnerability in class.login.php |
|
| 16 |
# Fixed typo in EN language file |
|
| 17 |
# Fixed captcha problems (when feature is disabled) in form module and sign-up |
|
| 18 |
! Added charset encoding to admin templates |
|
| 19 |
! Added extra code to check for selection of addon upon uninstalling |
|
| 20 |
# Fixed bugs in RSS news feeder |
|
| 21 |
# Fixed bug with PAGE_DESCRIPTION not being set on any page |
|
| 22 |
|
|
| 23 |
------------------------------------- 2.6.0 ------------------------------------- |
|
| 24 |
28-Nov-2005 Ryan Djurovich |
|
| 25 |
+ Added default charset option to (advanced) settings |
|
| 26 |
# Form module email fields now have email address validation |
|
| 27 |
# Fixed spacing in form submissions |
|
| 28 |
27-Nov-2005 Ryan Djurovich |
|
| 29 |
+ Added captcha verification to sign-up form |
|
| 30 |
+ Added Captcha to News module |
|
| 31 |
24-Nov-2005 Stefan Braunewell |
|
| 32 |
! Applied aportale's patch to use label instead of javascript toggle code |
|
| 33 |
20-Nov-2005 Ryan Djurovich |
|
| 34 |
! News mod now hides read more link if no need for it (see ticket #56) |
|
| 35 |
+ Added support for mailto: links in the menu link mod |
|
| 36 |
# Added direct-access redirection on some files (see ticket #37) |
|
| 37 |
+ Added extra characters to convert.php (see ticket #64) |
|
| 38 |
# Fixed ticket #65 (last_reset check in account/forgot_form.php) |
|
| 39 |
29-Sep-2005 Ryan Djurovich |
|
| 40 |
! Cleaned up form buttons in Settings |
|
| 41 |
! Moved some options into Advanced Settings |
|
| 42 |
# Semi-disabled "separate" page trash option |
|
| 43 |
+ Created a backup module/tool for backing-up the database |
|
| 44 |
(thanks to John (pcwacht) for the original code) |
|
| 45 |
+ Created new "blank template", which can be used in case where you don't |
|
| 46 |
want anything wrapping page-content. |
|
| 47 |
19-Sep-2005 Ryan Djurovich |
|
| 48 |
+ Added _license field for all add-ons to specify a license |
|
| 49 |
! Renamed _designed_for variables (for all addons) to _platform |
|
| 50 |
+ Created addons table for faster internal referencing of installed addons |
|
| 51 |
! Fixed some links, including the "Help" button in Admin |
|
| 52 |
# Used nl2br to display body correctly when viewing form-submissions |
|
| 53 |
15-Sep-2005 Stefan Braunewell |
|
| 54 |
+ Added table module with columns 'name','type' and 'directory' as an |
|
| 55 |
index. |
|
| 56 |
+ Added entry to settings table 'wb_version' which holds the version |
|
| 57 |
number and can be utilized in future upgrade scripts. |
|
| 58 |
! Added upgrade functionality also for templates and languages. |
|
| 59 |
#/! Template/modules installation now respects paths. |
|
| 60 |
! Moved updates from config.php to database. |
|
| 61 |
Created initialize.php (required by config.php) to read settings. |
|
| 62 |
11-Sep-2005 Stefan Braunewell |
|
| 63 |
! HTMLArea is now a module instead of a core component. Files moved |
|
| 64 |
from "include" to "modules". |
|
| 65 |
+ Implemented Installation of modules on top of an older version. This is |
|
| 66 |
done via checking $module_version. Instead of install.php, upgrade.php |
|
| 67 |
is then called if it exists in the module package. |
|
| 68 |
For module developers: $module_version and $new_module_version are |
|
| 69 |
accessible in upgrade.php to find out what upgrade steps need to be taken. |
|
| 70 |
! Changed column names in mod_news_posts from short,long to content_short, |
|
| 71 |
content_long. |
|
| 72 |
09-Sep-2005 Stefan Braunewell |
|
| 73 |
+ Added new advanced setting "Rename Files On Upload". File extensions can be |
|
| 74 |
given so that respective files will have a ".txt" appended on media upload. |
|
| 75 |
# Fixed "None found" message bug when user has no top level page edit |
|
| 76 |
rights. |
|
| 77 |
# Fixed missing parent option 'none' - ticket #12 - and a minor scope bug. |
|
| 78 |
+ Added breadcrumbs code. Call using $wb->breadcrumbs(). |
|
| 79 |
+ Added utf-8 character encoding meta tag into all stock templates. |
|
| 80 |
# Fixed bug when changing a page's parent |
|
| 81 |
! Changed the way blocks are treated. Added new frontend class attribute |
|
| 82 |
default_block_content that controls what is shown on pages such as |
|
| 83 |
search, login, etc. (Ticket #16) |
|
| 84 |
+ Added support for WYSIWYG editor modules (wysiwygmod) |
|
| 85 |
+ When trying to access a registered page, user is automatically redirected |
|
| 86 |
there on successful login. |
|
| 87 |
# Fixed various issues with system search (mainly related to stripslashes() |
|
| 88 |
# Removed stripslashes() in many places in the code. Added check for |
|
| 89 |
magic_quotes_gpc to new wb class method add_slashes(). Now database contest |
|
| 90 |
is independent of magic_quotes setting.. |
|
| 91 |
05-Sep-2005 Stefan Braunewell |
|
| 92 |
# Fixed bug concerning direct access of preferences page. |
|
| 93 |
# Reworked page visibility and menu item visibility code (frontend login |
|
| 94 |
problem). |
|
| 95 |
# Pages in link list in htmlarea popup are now correctly ordered. |
|
| 96 |
# Fixed bug where group with existing name can be added. |
|
| 97 |
04-Sep-2005 Ryan Djurovich |
|
| 98 |
+ Added and RSS newsfeed script to the News module |
|
| 99 |
04-Sep-2005 Stefan Braunewell |
|
| 100 |
! Rewrote menu function. Parameters are now given as attributes to frontend class. |
|
| 101 |
# Fixed some occurrences of potential direct access path disclosure |
|
| 102 |
# Added directory check to browse.php to prevent xss exploit by trusted users. |
|
| 103 |
! Updated code to reflect move to Subversion repository system. |
|
| 104 |
27-Aug-2005 Stefan Braunewell |
|
| 105 |
# Fixed bugs 4,5,6,8,9 in bug tracker |
|
| 106 |
! Removed 'USER_LANGUAGE' and 'GET_LANGUAGE' constants. |
|
| 107 |
A GET['lang'] now sets the session language variable. |
|
| 108 |
26-Aug-2005 Stefan Braunewell |
|
| 109 |
! Moved redundant code into the new class functions. Created |
|
| 110 |
'compatibility.php' for backward compatibility with |
|
| 111 |
modules and templates. Variables and functions can still be accessed |
|
| 112 |
in the old way. |
|
| 113 |
!/+ Reorganized core frontend files, added new base class 'wb' from |
|
| 114 |
which 'admin' and the new 'frontend' class inherit. Moved all frontend |
|
| 115 |
function into new class. Completely rewrote core index.php. |
|
| 116 |
Now all variables and functions that are available to templates and |
|
| 117 |
modules are attributes and methods of the frontend and the wb classes |
|
| 118 |
------------------------------------- 2.5.2 ------------------------------------- |
|
| 119 |
23-Jun-2005 Ryan Djurovich |
|
| 120 |
! create_access_file now creates all parent directories if needed |
|
| 121 |
# Fixed bug when moving page with subpages to another level |
|
| 122 |
# Fixed bug when saving "Settings" (in Admin) on Windows/IIS |
|
| 123 |
# Fixed bug where query was not setting error correctly in class.database.php |
|
| 124 |
22-Jun-2005 Ryan Djurovich |
|
| 125 |
# Fixed bug where template permissions were not saved when a adding group |
|
| 126 |
21-Jun-2005 Ryan Djurovich |
|
| 127 |
# Added htmlspecialchars for modifying WYSIWYG, news, etc. modules (Bug #78) |
|
| 128 |
# Fixed language problems in some area's of Admin. (Bug #70) |
|
| 129 |
# Added a space in website/page keywords (Bug #69) |
|
| 130 |
# Fixed bugs on settings2.php (Bug #52) |
|
| 131 |
! Links inserted with HTMLArea now use [wblink--PAGE_ID--] instead of raw URL |
|
| 132 |
13-Jun-2005 Ryan Djurovich |
|
| 133 |
# Fixed bug (#88) with news module |
|
| 134 |
! Title of Administration login page now taken from language file (Bug #72) |
|
| 135 |
# Fixed redirection admin/home to admin/start on admin/index.php |
|
| 136 |
# Fixed bug with forgotten password page in admin (Bug #81) |
|
| 137 |
25-Apr-2005 Ryan Djurovich |
|
| 138 |
# Fixed numerous bugs with module uninstallation |
|
| 139 |
# Fixed bug when uploading files in Administration -> Media |
|
| 140 |
! Installer no-longer requires you to accept the GNU GPL |
|
| 141 |
------------------------------------- 2.5.1 ------------------------------------- |
|
| 142 |
16-Apr-2005 Ryan Djurovich |
|
| 143 |
# Fixed two bugs with account login/logout |
|
| 144 |
------------------------------------- 2.5.1 ------------------------------------- |
|
| 145 |
15-Apr-2005 Ryan Djurovich |
|
| 146 |
# Fixed bug where non-english characters can get used in page filenames. Many |
|
| 147 |
measuers have been added (including a new file: wb/framework/convert.php), |
|
| 148 |
to prevent any possible errors that can occur in page filenames. |
|
| 149 |
# Fixed invalid meta tags in stock templates (meta tags were not closed) |
|
| 150 |
# Removed lines 401, 402, and 425 of wb/index.php - not needed |
|
| 151 |
# Fixed bug where search and account pages are shown in every block |
|
| 152 |
that is in a template |
|
| 153 |
# Fixed numerous bugs with media home directories feature |
|
| 154 |
10-Apr-2005 Ryan Djurovich |
|
| 155 |
# Fixed bugs in account/login.php and logout.php where users |
|
| 156 |
gets redirected to /pages |
|
| 157 |
------------------------------------- 2.5.0 ------------------------------------- |
|
| 158 |
08-Apr-2005 Ryan Djurovich |
|
| 159 |
- Removed section language feature |
|
| 160 |
+ Added page language feature (replaces need for sections language feature) |
|
| 161 |
# Fixed bug where pages using menu_link module can have the URL changed |
|
| 162 |
- Page directory no longer stored in link field in pages table, it is now added |
|
| 163 |
when the page_link function is called - this makes changing the pages |
|
| 164 |
directory much easier and quicker |
|
| 165 |
! Pages with visibility of "none" are now no longer directly accessable |
|
| 166 |
+ Added new visibility setting "hidden", acts exactly like none did previously |
|
| 167 |
! Template info file can now specify number of menu's available and relative names |
|
| 168 |
! Template info file can now specify number of blocks's available and relative names |
|
| 169 |
------------------------------------- 2.4.3 ------------------------------------- |
|
| 170 |
07-Apr-2005 Ryan Djurovich |
|
| 171 |
# page_filename function has been rewritten using str_replace |
|
| 172 |
function, which should be faster and will allow characters |
|
| 173 |
from other languages into filenames |
|
| 174 |
! Created new media_filename function, which is now used |
|
| 175 |
by all media functions (create,upload,rename) to determine |
|
| 176 |
which characters should be removed from a desired filename |
|
| 177 |
+ New button in Administration page list to view specific page |
|
| 178 |
# Updated the page_link function to now be compatible with menu link |
|
| 179 |
module when setting pages directory to root |
|
| 180 |
# Fixed bugs in search when using "Any Words" option |
|
| 181 |
# Fixed bug with news module when pages directory set to root |
|
| 182 |
! Changed URL of documentation website on Administration Start page |
|
| 183 |
------------------------------------- 2.4.2 ------------------------------------- |
|
| 184 |
05-Apr-2005 Ryan Djurovich |
|
| 185 |
# Fixed bug where file could be renamed to nothing in Media |
|
| 186 |
! Optimised Media create folder, upload file, and rename functions |
|
| 187 |
# Fixed bug where stripslashes not run on news post titles in admin |
|
| 188 |
05-Apr-2005 Stefan Braunewell |
|
| 189 |
# Fixed bug concerning usage of the private_sql variable |
|
| 190 |
# Fixed bug conerning sub-pages being displayed in menus incorrectly |
|
| 191 |
------------------------------------- 2.4.1 ------------------------------------- |
|
| 192 |
04-Apr-2005 Ryan Djurovich |
|
| 193 |
! Pages with visibility of "none" are again directly accessable |
|
| 194 |
# Fixed bugs regarding renaming files and directories in Media section |
|
| 195 |
! When home folders disabled, all folders now visible in Media section |
|
| 196 |
------------------------------------- 2.4.0 ------------------------------------- |
|
| 197 |
03-Apr-2005 Ryan Djurovich |
|
| 198 |
- Removed recently added visibility setting of "heading", and relative config vars |
|
| 199 |
+ Added new "menu" field to pages table, and new setting "multiple menus" |
|
| 200 |
which replaces the need for the menu headings feature |
|
| 201 |
+ Added links to top of groups and users sections, linking to each other |
|
| 202 |
! Change menu width in "Round" template to 170px (was 150px) |
|
| 203 |
# Change page "are you sure" deletion message to mention that it will delete |
|
| 204 |
all sub-pages as well |
|
| 205 |
# Fixed many bugs with news module when viewing posts by group |
|
| 206 |
! Pages with visibility of "none" are now no longer directly accessable |
|
| 207 |
02-Apr-2005 Ryan Djurovich |
|
| 208 |
- Removed need to specify DB_URL when calling database class |
|
| 209 |
# Stopped fields without a type specified from being shown in form mod |
|
| 210 |
# Changed '/media' to MEDIA_DIRECTORY on HTMLArea popup windows |
|
| 211 |
for insert link and insert image |
|
| 212 |
+ Added setting which allows you to specify the default WYSIWYG style |
|
| 213 |
+ Added "Server Email" option, to specify what is used in "From" field when |
|
| 214 |
sending emails using the PHP mail function. Default is admins email address. |
|
| 215 |
# Search now excludes pages which have a visibility of none or heading |
|
| 216 |
! Pages are now given modified_when and modified_by when added |
|
| 217 |
01-Apr-2005 Ryan Djurovich |
|
| 218 |
+ Added option to News module to specify how many posts should be listed |
|
| 219 |
per page (by default it is set to unlimited, which functions like previous version) |
|
| 220 |
# Added stripslashes when display page titles in search |
|
| 221 |
+ Page descriptions and last updated date now shown in search by default |
|
| 222 |
30-Mar-2005 Ryan Djurovich |
|
| 223 |
+ Added new feature for Media home folders, where a folder can be specified |
|
| 224 |
for a specific user or group of users only |
|
| 225 |
! Changed URL of Help button to http://www.websitebaker.org/docs/ |
|
| 226 |
+ Added new feature for "Page Trash" - two modes available: inline and separate |
|
| 227 |
! When pages are deleted, all sub-pages are now deleted (instead of being moved |
|
| 228 |
up a level) |
|
| 229 |
29-Mar-2005 Ryan Djurovich |
|
| 230 |
- Removed Database Settings from Administration Settings (options will not be |
|
| 231 |
available in 3.x, so trying to match interface with WB 3.x plans |
|
| 232 |
! Changed the name of Path Settings to Filesystem Settings in Administration |
|
| 233 |
Settings, and removed ability to change path/url options - matching interface |
|
| 234 |
plans for WB 3.x |
|
| 235 |
+ Added same options for OS and file permissions as installer to Settings |
|
| 236 |
! Sessions now named with APP_NAME.'_session_id' (e.g. default is wb_session_id) |
|
| 237 |
28-Mar-2005 Ryan Djurovich |
|
| 238 |
+ New functions available to templates to simplify creation of them. This aims |
|
| 239 |
to "future-proof" templates for WB 3.x plans. |
|
| 240 |
! Default templates updated to support some of the new functions |
|
| 241 |
+ Added field to pages table "page_trail" which stores a list of the pages |
|
| 242 |
parents. This field was needed by the new page_menu function |
|
| 243 |
+ Added option for page visibility "heading" to enabled support for multiple |
|
| 244 |
menu's. Also, this helps to "future-proof" templates for WB 3.x plans |
|
| 245 |
+ Added option for page visibility "registered", which acts a little like |
|
| 246 |
private, but is still shown in the menu (although users need to log in to view |
|
| 247 |
the pages content) |
|
| 248 |
+ Form module submissions now saved to database, and feature now added to |
|
| 249 |
limit number of submissions per hour to prevent spamming |
|
| 250 |
+ New field for Form module: email. Allows you to specify their email in |
|
| 251 |
"from" field on module settings. |
|
| 252 |
# Fixed bug when displaying comments in News module (WB Bug #14) |
|
| 253 |
+ New "under contruction" message if no pages exist |
|
| 254 |
! Cleaned-up wb/index.php |
|
| 255 |
27-Mar-2005 Ryan Djurovich |
|
| 256 |
+ Created advanced mkdir and chmod functions |
|
| 257 |
# Fixed bug in media where wrong file/folder is deleted |
|
| 258 |
+ Complete overhall of installer - now only one step! It has been greatly |
|
| 259 |
simplified in many ways, has much better validation, reports error much more |
|
| 260 |
nicely, and automatically logs the user into the Administrations |
|
| 261 |
+ Must now specify OS type - allows for customizable file permission settings |
|
| 262 |
+ Sections can now have a language code assigned to them |
|
| 263 |
+ Sections can now have a block name/id assigned to them |
|
| 264 |
! Home section of Administration renamed to Start, to save confusion with saying |
|
| 265 |
Homepage (because this term could either mean the main website or Home section |
|
| 266 |
in Administration). Also, this aims to unify the interface with WB 3.x plans |
|
| 267 |
! Moved Users and Groups sections under Access section. This aims to unify the |
|
| 268 |
interface with WB 3.x plans, which help to unclutter the menu |
|
| 269 |
! Interface for Settings section has been imporved for usability purposes |
|
| 270 |
# Fixed HTMLArea where no scrollbar for "insert link" and "insert image" dialogs |
|
| 271 |
by placing media list inside an iframe |
|
| 272 |
# Fixed stripslashes problem for viewing news comments |
|
| 273 |
! Added code from Formesque module (an advanced version of the original Form |
|
| 274 |
module, modified by Rudolph Lartey from www.carbonect.com), and made further |
|
| 275 |
interface improvements for select box/checkbox group/radio group options. |
|
| 276 |
# Possibly fixed bugs where an S appears before file and dir modes |
|
| 277 |
# Fixed bug where users can be added with same emails (in Administration) |
|
| 278 |
- Removed support for PEAR, as it was deemed an unnecessary addition which only |
|
| 279 |
makes code more bulky, and removing it will decrease package size a lot |
|
| 280 |
+ New "homepage redirect" option so first page is included and not redirected to |
|
| 281 |
# Fixed text not being shown when module uninstalled |
|
| 282 |
! Imporved interface for basic group permissions |
|
| 283 |
26-Mar-2005 Stefan Braunewell |
|
| 284 |
# Fixed bug with front-end logins |
|
| 285 |
# Fixed bug when saving intro page |
|
| 286 |
+ Added check on sign-up if e-mail exists (thanks to P. Melief) |
|
| 287 |
# Fixed bugs concerning moving/deleting pages |
|
| 288 |
# Fixed list of parents in page settings |
|
| 289 |
# Fixed mkdir without mode parameter |
|
| 290 |
# Added a check on install to ensure PHP 4.1.x compatibility (thanks to Wanderer) |
|
| 291 |
+ Added support for PAGES_DIRECTORY set to root |
|
| 292 |
+ Search form now supports quotes (thanks to Manafta) |
|
| 293 |
# Fixed page section ordering |
|
| 294 |
# News items are displayed with name of poster instead of "Unknown" |
|
| 295 |
# Deletion confirmation popup window in media section now shows correct file name |
|
| 296 |
------------------------------------- 2.3.1 ------------------------------------- |
|
| 297 |
03-Fed-2005 Ryan Djurovich |
|
| 298 |
+ Now there is two types of "filesystem modes", one for directories and one |
|
| 299 |
for files. Having different settings is very common for most servers, so |
|
| 300 |
this addition should fix many problems people had with 2.3.0. |
|
| 301 |
- Removed filesystem mode options from installation |
|
| 302 |
! Removed duplicate text on installation step 3 for timezone |
|
| 303 |
! All "access files" for the news module now stored in pages/posts instead |
|
| 304 |
of a sub-dir relative to the page (this fixes many bugs) |
|
| 305 |
# Fixed major bugs when deleting pages with sub-pages |
|
| 306 |
! Removed the restrictions that prevent a user for changing a pages level |
|
| 307 |
# Fixed bug with "toggle" plus/minus in IE for pages list |
|
| 308 |
# Fixed some bugs where /pages was not replaced with PAGES_DIRECTORY constant |
|
| 309 |
------------------------------------- 2.3.0 ------------------------------------- |
|
| 310 |
26-Jan-2005 Ryan Djurovich |
|
| 311 |
# Fixed bug in framework/functions.php that made root parent always equal 8 |
|
| 312 |
# Added missing braces in lines 182 and 208 of admin/pages/settings2.php |
|
| 313 |
# Fixed SQL-query on line 172, placing a / after $old_link |
|
| 314 |
# Added eregi checks for PAGES_DIRECTORY on lines 140 and 150 of |
|
| 315 |
admin/pages/settings2.php |
|
| 316 |
# Added ordering cleaning to delete_post.php on line 53 for news module |
|
| 317 |
! GMT option is selected for "Default Timezone" in the installer, instead |
|
| 318 |
of the old "Please select" message (which had the same value as GMT) |
|
| 319 |
28-Jan-2005 Ryan Djurovich |
|
| 320 |
! Ability to specify the chmod number when WB uploads files, etc. |
|
| 321 |
! Modified file headers (copyright/license notice) so they now look almost the |
|
| 322 |
same, independant of font. Also, it now covers copyright for 2005. |
|
| 323 |
30-Jan-2005 Ryan Djurovich |
|
| 324 |
# Added code on wb/admin/pages/delete.php to remove sections from the sections |
|
| 325 |
table when a page is deleted. |
|
| 326 |
+ New 'Smart Login' prevents users from using external password managers, |
|
| 327 |
and can be set to remember the users password using cookies. |
|
| 328 |
! SourceForge CVS module now called websitebaker2 (instead of just |
|
| 329 |
websitebaker). Also, all file versions have been reset. |
|
| 330 |
01-Fed-2005 Ryan Djurovich |
|
| 331 |
! Added code to prevent from changing a pages level (it simply disables |
|
| 332 |
the select box), to prevent many possible bugs. |
|
| 333 |
------------------------------------- 2.2.4 ------------------------------------- |
|
| 334 |
23-Dec-2004 Ryan Djurovich |
|
| 335 |
! Change 'EXACT_PHRASE' to 'EXACT_MATCH' on line 261 of wb/languages/EN.php |
|
| 336 |
# Fixed multi-language support in search |
|
| 337 |
+ Added more detailed options to list of PHP error reporting level's |
|
| 338 |
- Removed ability to change language and PHP error reporting level |
|
| 339 |
on installation to make things easier for newbie's |
|
| 340 |
+ Ability to select custom spacer for page filename's |
|
| 341 |
! Changed the way a language code is found on language installation |
|
| 342 |
+ Added template permissions to groups |
|
| 343 |
# Fixed bug when trying to change email from Preferences (admin and frontend) |
|
| 344 |
# Fixed bug with auto-selection of "System Default" for Preferences |
|
| 345 |
! News module now use's WYSIWYG for modifying news posts |
|
| 346 |
+ Ability to specify both the pages and media target directories |
|
| 347 |
------------------------------------ 2.2.3-c ------------------------------------ |
|
| 348 |
22-Dec-2004 Ryan Djurovich |
|
| 349 |
# Fixed problem with DB password being reset if Settings saved in basic mode |
|
| 350 |
------------------------------------ 2.2.3-b ------------------------------------ |
|
| 351 |
21-Dec-2004 Ryan Djurovich |
|
| 352 |
# Fixed minor bug on admin templates section |
|
| 353 |
# Fixed bug on rename.php and rename2.php in admin media section |
|
| 354 |
------------------------------------- 2.2.3 ------------------------------------- |
|
| 355 |
20-Dec-2004 Ryan Djurovich |
|
| 356 |
+ Added WB release version in Administration (top right corner) |
|
| 357 |
! New option to prevent users from adding level 0 pages |
|
| 358 |
# Fixed bug when deleting post's in News module |
|
| 359 |
+ Added new field in pages table for "root" parent (level 0 parent), for |
|
| 360 |
extra flexability in creating templates |
|
| 361 |
! Round template now supports unlimited page levels |
|
| 362 |
------------------------------------- 2.2.2 ------------------------------------- |
|
| 363 |
18-Dec-2004 Ryan Djurovich |
|
| 364 |
+ New option under Search Settings for selecting custom template for search |
|
| 365 |
+ New option when changing page settings to set the target |
|
| 366 |
# Fixed error when saving a user after editing |
|
| 367 |
! Users can now modify sub-page if they dont have permissions on the parent |
|
| 368 |
------------------------------------- 2.2.1 ------------------------------------- |
|
| 369 |
15-Dec-2004 Ryan Djurovich |
|
| 370 |
# Fixed bug when changing password on preferences form (front-end) |
|
| 371 |
# Fixed bug when retrieving user details (administration) |
|
| 372 |
# Added check to see if module, template, or language is in use when deleting |
|
| 373 |
# Fixed up email that is sent to user from a submitted form |
|
| 374 |
# Fixed major problem with module permissions which stopped it from working |
|
| 375 |
------------------------------------- 2.2.0 ------------------------------------- |
|
| 376 |
14-Dec-2004 (Correct date[s] unkown) Ryan Djurovich |
|
| 377 |
+ Multiple-level page support |
|
| 378 |
+ Multiple section's for pages (including interface) |
|
| 379 |
! Removed text created using two words on all areas |
|
| 380 |
(e.g. {Intro} {PAGE} is now {INTRO_PAGE})
|
|
| 381 |
this is for better language support |
|
| 382 |
+ Added Languages section |
|
| 383 |
! Moved Templates and Modules under Add-ons section |
|
| 384 |
! Changed name of "Default" template to "Round" |
|
| 385 |
+ Added "All CSS" template |
|
| 386 |
+ Added "Jump" |
|
| 387 |
+ Added |
|
| 388 |
! Modified "Box" template to support multiple page levels |
|
| 389 |
+ Added "Menu Link" module |
|
| 390 |
+ Added "News" module |
|
| 391 |
+ Added "Code" module |
|
| 392 |
+ Added "Form" module |
|
| 393 |
+ Added "Wrapper" module |
|
| 394 |
! Changed name of "Normal Page" module to "WYSIWYG" |
|
| 395 |
+ Created new admin wrapper script to ease module develpment |
|
| 396 |
+ Media now automatically creates index.php file for every |
|
| 397 |
sub-folder made (for security purposes) |
|
| 398 |
! Change "Help" link in Administration menu so it now directs |
|
| 399 |
to the the new Website Baker documentation website found at: |
|
| 400 |
http://www.websitebaker.org/documentation |
|
| 401 |
! Password is now required to change email in preferences |
|
| 402 |
+ User can now select custom Language and Date & Time Formats |
|
| 403 |
+ Added search functionality, with three different "methods": |
|
| 404 |
1. Using all words 2. Using any words 3. Exact match |
|
| 405 |
+ Added native MySQL database support |
|
| 0 | 406 | |
| branches/2.6.x/wb/modules/news/rss.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
// $Id$ |
|
| 4 |
|
|
| 5 |
/* |
|
| 6 |
|
|
| 7 |
Website Baker Project <http://www.websitebaker.org/> |
|
| 8 |
Copyright (C) 2004-2005, Ryan Djurovich |
|
| 9 |
|
|
| 10 |
Website Baker is free software; you can redistribute it and/or modify |
|
| 11 |
it under the terms of the GNU General Public License as published by |
|
| 12 |
the Free Software Foundation; either version 2 of the License, or |
|
| 13 |
(at your option) any later version. |
|
| 14 |
|
|
| 15 |
Website Baker is distributed in the hope that it will be useful, |
|
| 16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 18 |
GNU General Public License for more details. |
|
| 19 |
|
|
| 20 |
You should have received a copy of the GNU General Public License |
|
| 21 |
along with Website Baker; if not, write to the Free Software |
|
| 22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 23 |
|
|
| 24 |
*/ |
|
| 25 |
|
|
| 26 |
// Check that GET values have been supplied |
|
| 27 |
if(isset($_GET['page_id']) AND is_numeric($_GET['page_id'])) {
|
|
| 28 |
$page_id = $_GET['page_id']; |
|
| 29 |
define('PAGE_ID', $page_id);
|
|
| 30 |
} else {
|
|
| 31 |
header('Location: '.WB_URL);
|
|
| 32 |
} |
|
| 33 |
if(isset($_GET['group_id']) AND is_numeric($_GET['group_id'])) {
|
|
| 34 |
$group_id = $_GET['group_id']; |
|
| 35 |
define('GROUP_ID', $group_id);
|
|
| 36 |
} |
|
| 37 |
|
|
| 38 |
// Include WB files |
|
| 39 |
require_once('../../config.php');
|
|
| 40 |
require_once(WB_PATH.'/framework/class.frontend.php'); |
|
| 41 |
$database = new database(); |
|
| 42 |
$wb = new frontend(); |
|
| 43 |
$wb->page_id = $page_id; |
|
| 44 |
$wb->get_page_details(); |
|
| 45 |
$wb->get_website_settings(); |
|
| 46 |
|
|
| 47 |
// Sending XML header |
|
| 48 |
header("Content-type: text/xml");
|
|
| 49 |
|
|
| 50 |
// Header info |
|
| 51 |
// Required by CSS 2.0 |
|
| 52 |
|
|
| 53 |
echo "<rss version='2.0'>"; |
|
| 54 |
echo "<channel>"; |
|
| 55 |
echo "<title>".PAGE_TITLE."</title>"; |
|
| 56 |
echo "<link>".WB_URL."</link>"; |
|
| 57 |
echo "<description>".PAGE_DESCRIPTION."</description>"; |
|
| 58 |
|
|
| 59 |
// Optional header info |
|
| 60 |
echo "<language>".DEFAULT_LANGUAGE."</language>"; |
|
| 61 |
echo "<copyright>".WB_URL."</copyright>"; |
|
| 62 |
echo "<managingEditor>".SERVER_EMAIL."</managingEditor>"; |
|
| 63 |
echo "<webMaster>".SERVER_EMAIL."</webMaster>"; |
|
| 64 |
echo "<category>".WEBSITE_TITLE."</category>"; |
|
| 65 |
echo "<generator>Website Baker Content Management System</generator>"; |
|
| 66 |
|
|
| 67 |
// Get news items from database |
|
| 68 |
|
|
| 69 |
//Query |
|
| 70 |
if(isset($group_id)) {
|
|
| 71 |
$query = "SELECT * FROM ".TABLE_PREFIX."mod_news_posts WHERE group_id=".$group_id." AND page_id = ".$page_id." AND active=1 ORDER BY posted_when DESC"; |
|
| 72 |
} else {
|
|
| 73 |
$query = "SELECT * FROM ".TABLE_PREFIX."mod_news_posts WHERE page_id=".$page_id." AND active=1 ORDER BY posted_when DESC"; |
|
| 74 |
} |
|
| 75 |
$result = $database->query($query); |
|
| 76 |
|
|
| 77 |
//Generating the news items |
|
| 78 |
while($item = $result->fetchRow($result)){
|
|
| 79 |
|
|
| 80 |
echo "<item>"; |
|
| 81 |
echo "<title>".$item["title"]."</title>"; |
|
| 82 |
// Stripping HTML Tags for text-only visibility |
|
| 83 |
echo "<description>".strip_tags($item["content_short"])."</description>"; |
|
| 84 |
echo "<link>".WB_URL."/pages".$item["link"].PAGE_EXTENSION."</link>"; |
|
| 85 |
/* Add further (non required) information here like ie. |
|
| 86 |
echo "<author>".$item["posted_by"]."</author>"); |
|
| 87 |
etc. |
|
| 88 |
*/ |
|
| 89 |
echo "</item>"; |
|
| 90 |
|
|
| 91 |
} |
|
| 92 |
|
|
| 93 |
// Writing footer information |
|
| 94 |
echo "</channel>"; |
|
| 95 |
echo "</rss>"; |
|
| 96 |
|
|
| 97 |
?> |
|
| 0 | 98 | |
| branches/2.6.x/wb/modules/news/comment_page.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
// $Id$ |
|
| 4 |
|
|
| 5 |
/* |
|
| 6 |
|
|
| 7 |
Website Baker Project <http://www.websitebaker.org/> |
|
| 8 |
Copyright (C) 2004-2005, Ryan Djurovich |
|
| 9 |
|
|
| 10 |
Website Baker is free software; you can redistribute it and/or modify |
|
| 11 |
it under the terms of the GNU General Public License as published by |
|
| 12 |
the Free Software Foundation; either version 2 of the License, or |
|
| 13 |
(at your option) any later version. |
|
| 14 |
|
|
| 15 |
Website Baker is distributed in the hope that it will be useful, |
|
| 16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 18 |
GNU General Public License for more details. |
|
| 19 |
|
|
| 20 |
You should have received a copy of the GNU General Public License |
|
| 21 |
along with Website Baker; if not, write to the Free Software |
|
| 22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 23 |
|
|
| 24 |
*/ |
|
| 25 |
|
|
| 26 |
// Make sure page cannot be accessed directly |
|
| 27 |
if(!defined('WB_URL')) { header('Location: ../index.php'); }
|
|
| 28 |
|
|
| 29 |
// Get comments page template details from db |
|
| 30 |
$query_settings = $database->query("SELECT comments_page,use_captcha FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '".SECTION_ID."'");
|
|
| 31 |
if($query_settings->numRows() == 0) {
|
|
| 32 |
header('Location: '.WB_URL.'/pages/');
|
|
| 33 |
} else {
|
|
| 34 |
$settings = $query_settings->fetchRow(); |
|
| 35 |
// Print comments page |
|
| 36 |
echo str_replace('[POST_TITLE]', POST_TITLE, ($settings['comments_page']));
|
|
| 37 |
?> |
|
| 38 |
<form name="comment" action="<?php echo WB_URL.'/modules/news/submit_comment.php?page_id='.PAGE_ID.'§ion_id='.SECTION_ID.'&post_id='.POST_ID; ?>" method="post"> |
|
| 39 |
<?php echo $TEXT['TITLE']; ?>: |
|
| 40 |
<br /> |
|
| 41 |
<input type="text" name="title" maxlength="255" style="width: 90%;"<?php if(isset($_SESSION['comment_title'])) { echo ' value="'.$_SESSION['comment_title'].'"'; unset($_SESSION['comment_title']); } ?> />
|
|
| 42 |
<br /><br /> |
|
| 43 |
<?php echo $TEXT['COMMENT']; ?>: |
|
| 44 |
<br /> |
|
| 45 |
<textarea name="comment" style="width: 90%; height: 150px;"><?php if(isset($_SESSION['comment_body'])) { echo $_SESSION['comment_body']; unset($_SESSION['comment_body']); } ?></textarea>
|
|
| 46 |
<br /><br /> |
|
| 47 |
<?php |
|
| 48 |
if(isset($_SESSION['captcha_error'])) {
|
|
| 49 |
echo '<font color="#FF0000">'.$_SESSION['captcha_error'].'</font><br />'; |
|
| 50 |
unset($_SESSION['captcha_error']); |
|
| 51 |
} |
|
| 52 |
// Captcha |
|
| 53 |
if($settings['use_captcha']) {
|
|
| 54 |
$_SESSION['captcha'] = ''; |
|
| 55 |
for($i = 0; $i < 5; $i++) {
|
|
| 56 |
$_SESSION['captcha'] .= rand(0,9); |
|
| 57 |
} |
|
| 58 |
?> |
|
| 59 |
<table cellpadding="2" cellspacing="0" border="0"> |
|
| 60 |
<tr> |
|
| 61 |
<td><?php echo $TEXT['VERIFICATION']; ?>:</td> |
|
| 62 |
<td><img src="<?php echo WB_URL; ?>/include/captcha.php" alt="Captcha" /></td> |
|
| 63 |
<td><input type="text" name="captcha" maxlength="5" /></td> |
|
| 64 |
</tr></table> |
|
| 65 |
<br /> |
|
| 66 |
<?php |
|
| 67 |
} |
|
| 68 |
?> |
|
| 69 |
<input type="submit" name="submit" value="<?php echo $TEXT['ADD']; ?> <?php echo $TEXT['COMMENT']; ?>" /> |
|
| 70 |
</form> |
|
| 71 |
<?php |
|
| 72 |
} |
|
| 73 |
|
|
| 74 |
?> |
|
| 0 | 75 | |
| branches/2.6.x/wb/modules/news/install.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
// $Id$ |
|
| 4 |
|
|
| 5 |
/* |
|
| 6 |
|
|
| 7 |
Website Baker Project <http://www.websitebaker.org/> |
|
| 8 |
Copyright (C) 2004-2005, Ryan Djurovich |
|
| 9 |
|
|
| 10 |
Website Baker is free software; you can redistribute it and/or modify |
|
| 11 |
it under the terms of the GNU General Public License as published by |
|
| 12 |
the Free Software Foundation; either version 2 of the License, or |
|
| 13 |
(at your option) any later version. |
|
| 14 |
|
|
| 15 |
Website Baker is distributed in the hope that it will be useful, |
|
| 16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 18 |
GNU General Public License for more details. |
|
| 19 |
|
|
| 20 |
You should have received a copy of the GNU General Public License |
|
| 21 |
along with Website Baker; if not, write to the Free Software |
|
| 22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 23 |
|
|
| 24 |
*/ |
|
| 25 |
|
|
| 26 |
if(defined('WB_URL')) {
|
|
| 27 |
|
|
| 28 |
$database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_news_posts`");
|
|
| 29 |
$mod_news = 'CREATE TABLE `'.TABLE_PREFIX.'mod_news_posts` ( ' |
|
| 30 |
. '`post_id` INT NOT NULL AUTO_INCREMENT,' |
|
| 31 |
. '`section_id` INT NOT NULL,' |
|
| 32 |
. '`page_id` INT NOT NULL,' |
|
| 33 |
. '`group_id` INT NOT NULL,' |
|
| 34 |
. '`active` INT NOT NULL,' |
|
| 35 |
. '`position` INT NOT NULL,' |
|
| 36 |
. '`title` VARCHAR(255) NOT NULL,' |
|
| 37 |
. '`link` TEXT NOT NULL,' |
|
| 38 |
. '`content_short` TEXT NOT NULL,' |
|
| 39 |
. '`content_long` TEXT NOT NULL,' |
|
| 40 |
. '`commenting` VARCHAR(7) NOT NULL,' |
|
| 41 |
. '`posted_when` INT NOT NULL ,' |
|
| 42 |
. '`posted_by` INT NOT NULL ,' |
|
| 43 |
. 'PRIMARY KEY (post_id)' |
|
| 44 |
. ' )'; |
|
| 45 |
$database->query($mod_news); |
|
| 46 |
|
|
| 47 |
$database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_news_groups`");
|
|
| 48 |
$mod_news = 'CREATE TABLE `'.TABLE_PREFIX.'mod_news_groups` ( ' |
|
| 49 |
. '`group_id` INT NOT NULL AUTO_INCREMENT,' |
|
| 50 |
. '`section_id` INT NOT NULL,' |
|
| 51 |
. '`page_id` INT NOT NULL,' |
|
| 52 |
. '`active` INT NOT NULL,' |
|
| 53 |
. '`position` INT NOT NULL,' |
|
| 54 |
. '`title` VARCHAR(255) NOT NULL,' |
|
| 55 |
. 'PRIMARY KEY (group_id)' |
|
| 56 |
. ' )'; |
|
| 57 |
$database->query($mod_news); |
|
| 58 |
|
|
| 59 |
$database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_news_comments`");
|
|
| 60 |
$mod_news = 'CREATE TABLE `'.TABLE_PREFIX.'mod_news_comments` ( ' |
|
| 61 |
. '`comment_id` INT NOT NULL AUTO_INCREMENT,' |
|
| 62 |
. '`section_id` INT NOT NULL,' |
|
| 63 |
. '`page_id` INT NOT NULL,' |
|
| 64 |
. '`post_id` INT NOT NULL,' |
|
| 65 |
. '`title` VARCHAR(255) NOT NULL,' |
|
| 66 |
. '`comment` TEXT NOT NULL,' |
|
| 67 |
. '`commented_when` INT NOT NULL ,' |
|
| 68 |
. '`commented_by` INT NOT NULL ,' |
|
| 69 |
. 'PRIMARY KEY (comment_id)' |
|
| 70 |
. ' )'; |
|
| 71 |
$database->query($mod_news); |
|
| 72 |
|
|
| 73 |
$database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_news_settings`");
|
|
| 74 |
$mod_news = 'CREATE TABLE `'.TABLE_PREFIX.'mod_news_settings` ( ' |
|
| 75 |
. '`section_id` INT NOT NULL,' |
|
| 76 |
. '`page_id` INT NOT NULL,' |
|
| 77 |
. '`header` TEXT NOT NULL,' |
|
| 78 |
. '`post_loop` TEXT NOT NULL,' |
|
| 79 |
. '`footer` TEXT NOT NULL,' |
|
| 80 |
. '`posts_per_page` INT NOT NULL,' |
|
| 81 |
. '`post_header` TEXT NOT NULL,' |
|
| 82 |
. '`post_footer` TEXT NOT NULL,' |
|
| 83 |
. '`comments_header` TEXT NOT NULL,' |
|
| 84 |
. '`comments_loop` TEXT NOT NULL,' |
|
| 85 |
. '`comments_footer` TEXT NOT NULL,' |
|
| 86 |
. '`comments_page` TEXT NOT NULL,' |
|
| 87 |
. '`commenting` VARCHAR(7) NOT NULL,' |
|
| 88 |
. '`resize` INT NOT NULL,' |
|
| 89 |
. ' `use_captcha` INT NOT NULL,' |
|
| 90 |
. 'PRIMARY KEY (section_id)' |
|
| 91 |
. ' )'; |
|
| 92 |
$database->query($mod_news); |
|
| 93 |
|
|
| 94 |
// Insert info into the search table |
|
| 95 |
// Module query info |
|
| 96 |
$field_info = array(); |
|
| 97 |
$field_info['page_id'] = 'page_id'; |
|
| 98 |
$field_info['title'] = 'page_title'; |
|
| 99 |
$field_info['link'] = 'link'; |
|
| 100 |
$field_info['description'] = 'description'; |
|
| 101 |
$field_info['modified_when'] = 'modified_when'; |
|
| 102 |
$field_info['modified_by'] = 'modified_by'; |
|
| 103 |
$field_info = serialize($field_info); |
|
| 104 |
$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('module', 'news', '$field_info')");
|
|
| 105 |
// Query start |
|
| 106 |
$query_start_code = "SELECT [TP]pages.page_id, [TP]pages.page_title, [TP]pages.link, [TP]pages.description, [TP]pages.modified_when, [TP]pages.modified_by FROM [TP]mod_news_posts, [TP]mod_news_groups, [TP]mod_news_comments, [TP]mod_news_settings, [TP]pages WHERE "; |
|
| 107 |
$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_start', '$query_start_code', 'news')");
|
|
| 108 |
// Query body |
|
| 109 |
$query_body_code = " |
|
| 110 |
[TP]pages.page_id = [TP]mod_news_posts.page_id AND [TP]mod_news_posts.title LIKE \'%[STRING]%\' |
|
| 111 |
OR [TP]pages.page_id = [TP]mod_news_posts.page_id AND [TP]mod_news_posts.content_short LIKE \'%[STRING]%\' |
|
| 112 |
OR [TP]pages.page_id = [TP]mod_news_posts.page_id AND [TP]mod_news_posts.content_long LIKE \'%[STRING]%\' |
|
| 113 |
OR [TP]pages.page_id = [TP]mod_news_comments.page_id AND [TP]mod_news_comments.title LIKE \'%[STRING]%\' |
|
| 114 |
OR [TP]pages.page_id = [TP]mod_news_comments.page_id AND [TP]mod_news_comments.comment LIKE \'%[STRING]%\' |
|
| 115 |
OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.header LIKE \'%[STRING]%\' |
|
| 116 |
OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.footer LIKE \'%[STRING]%\' |
|
| 117 |
OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.post_header LIKE \'%[STRING]%\' |
|
| 118 |
OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.post_footer LIKE \'%[STRING]%\' |
|
| 119 |
OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.comments_header LIKE \'%[STRING]%\' |
|
| 120 |
OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.comments_footer LIKE \'%[STRING]%\' |
|
| 121 |
OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.comments_footer LIKE \'%[STRING]%\'"; |
|
| 122 |
$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_body', '$query_body_code', 'news')");
|
|
| 123 |
// Query end |
|
| 124 |
$query_end_code = ""; |
|
| 125 |
$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_end', '$query_end_code', 'news')");
|
|
| 126 |
|
|
| 127 |
// Insert blank row (there needs to be at least on row for the search to work) |
|
| 128 |
$database->query("INSERT INTO ".TABLE_PREFIX."mod_news_posts (section_id,page_id) VALUES ('0', '0')");
|
|
| 129 |
$database->query("INSERT INTO ".TABLE_PREFIX."mod_news_groups (section_id,page_id) VALUES ('0', '0')");
|
|
| 130 |
$database->query("INSERT INTO ".TABLE_PREFIX."mod_news_comments (section_id,page_id) VALUES ('0', '0')");
|
|
| 131 |
$database->query("INSERT INTO ".TABLE_PREFIX."mod_news_settings (section_id,page_id) VALUES ('0', '0')");
|
|
| 132 |
|
|
| 133 |
// Make news post access files dir |
|
| 134 |
make_dir(WB_PATH.PAGES_DIRECTORY.'/posts/'); + |
|
| 135 |
} |
|
| 136 |
|
|
| 137 |
?> |
|
| 0 | 138 | |
| branches/2.6.x/wb/modules/news/modify_settings.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
// $Id$ |
|
| 4 |
|
|
| 5 |
/* |
|
| 6 |
|
|
| 7 |
Website Baker Project <http://www.websitebaker.org/> |
|
| 8 |
Copyright (C) 2004-2005, Ryan Djurovich |
|
| 9 |
|
|
| 10 |
Website Baker is free software; you can redistribute it and/or modify |
|
| 11 |
it under the terms of the GNU General Public License as published by |
|
| 12 |
the Free Software Foundation; either version 2 of the License, or |
|
| 13 |
(at your option) any later version. |
|
| 14 |
|
|
| 15 |
Website Baker is distributed in the hope that it will be useful, |
|
| 16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 18 |
GNU General Public License for more details. |
|
| 19 |
|
|
| 20 |
You should have received a copy of the GNU General Public License |
|
| 21 |
along with Website Baker; if not, write to the Free Software |
|
| 22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 23 |
|
|
| 24 |
*/ |
|
| 25 |
|
|
| 26 |
require('../../config.php');
|
|
| 27 |
|
|
| 28 |
// Include WB admin wrapper script |
|
| 29 |
require(WB_PATH.'/modules/admin.php'); |
|
| 30 |
|
|
| 31 |
// Get header and footer |
|
| 32 |
$query_content = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '$section_id'");
|
|
| 33 |
$fetch_content = $query_content->fetchRow(); |
|
| 34 |
|
|
| 35 |
// Set raw html <'s and >'s to be replace by friendly html code |
|
| 36 |
$raw = array('<', '>');
|
|
| 37 |
$friendly = array('<', '>');
|
|
| 38 |
|
|
| 39 |
?> |
|
| 40 |
|
|
| 41 |
<style type="text/css"> |
|
| 42 |
.setting_name {
|
|
| 43 |
vertical-align: top; |
|
| 44 |
} |
|
| 45 |
</style> |
|
| 46 |
|
|
| 47 |
<form name="modify" action="<?php echo WB_URL; ?>/modules/news/save_settings.php" method="post" style="margin: 0;"> |
|
| 48 |
|
|
| 49 |
<input type="hidden" name="section_id" value="<?php echo $section_id; ?>"> |
|
| 50 |
<input type="hidden" name="page_id" value="<?php echo $page_id; ?>"> |
|
| 51 |
|
|
| 52 |
<table cellpadding="2" cellspacing="0" border="0" width="100%"> |
|
| 53 |
<tr> |
|
| 54 |
<td class="setting_name" width="100"><?php echo $TEXT['HEADER']; ?>:</td> |
|
| 55 |
<td class="setting_name"> |
|
| 56 |
<textarea name="header" style="width: 100%; height: 80px;"><?php echo ($fetch_content['header']); ?></textarea> |
|
| 57 |
</td> |
|
| 58 |
</tr> |
|
| 59 |
<tr> |
|
| 60 |
<td class="setting_name"><?php echo $TEXT['POST'].' '.$TEXT['LOOP']; ?>:</td> |
|
| 61 |
<td class="setting_name"> |
|
| 62 |
<textarea name="post_loop" style="width: 100%; height: 60px;"><?php echo ($fetch_content['post_loop']); ?></textarea> |
|
| 63 |
</td> |
|
| 64 |
</tr> |
|
| 65 |
<tr> |
|
| 66 |
<td class="setting_name"><?php echo $TEXT['FOOTER']; ?>:</td> |
|
| 67 |
<td class="setting_name"> |
|
| 68 |
<textarea name="footer" style="width: 100%; height: 80px;"><?php echo str_replace($raw, $friendly, ($fetch_content['footer'])); ?></textarea> |
|
| 69 |
</td> |
|
| 70 |
</tr> |
|
| 71 |
<tr> |
|
| 72 |
<td class="setting_name"><?php echo $TEXT['POST_HEADER']; ?>:</td> |
|
| 73 |
<td class="setting_name"> |
|
| 74 |
<textarea name="post_header" style="width: 100%; height: 60px;"><?php echo str_replace($raw, $friendly, ($fetch_content['post_header'])); ?></textarea> |
|
| 75 |
</td> |
|
| 76 |
</tr> |
|
| 77 |
<tr> |
|
| 78 |
<td class="setting_name"><?php echo $TEXT['POST_FOOTER']; ?>:</td> |
|
| 79 |
<td class="setting_name"> |
|
| 80 |
<textarea name="post_footer" style="width: 100%; height: 60px;"><?php echo str_replace($raw, $friendly, ($fetch_content['post_footer'])); ?></textarea> |
|
| 81 |
</td> |
|
| 82 |
</tr> |
|
| 83 |
<tr> |
|
| 84 |
<td class="setting_name"><?php echo $TEXT['POSTS_PER_PAGE']; ?>:</td> |
|
| 85 |
<td class="setting_name"> |
|
| 86 |
<select name="posts_per_page" style="width: 100%;"> |
|
| 87 |
<option value=""><?php echo $TEXT['UNLIMITED']; ?></option> |
|
| 88 |
<?php |
|
| 89 |
for($i = 1; $i <= 20; $i++) {
|
|
| 90 |
if($fetch_content['posts_per_page'] == ($i*5)) { $selected = ' selected'; } else { $selected = ''; }
|
|
| 91 |
echo '<option value="'.($i*5).'"'.$selected.'>'.($i*5).'</option>'; |
|
| 92 |
} |
|
| 93 |
?> |
|
| 94 |
</select> |
|
| 95 |
</td> |
|
| 96 |
</tr> |
|
| 97 |
<tr> |
|
| 98 |
<td><?php echo $TEXT['COMMENTING']; ?>:</td> |
|
| 99 |
<td> |
|
| 100 |
<select name="commenting" style="width: 100%;"> |
|
| 101 |
<option value="none"><?php echo $TEXT['DISABLED']; ?></option> |
|
| 102 |
<option value="public" <?php if($fetch_content['commenting'] == 'public') { echo 'selected'; } ?>><?php echo $TEXT['PUBLIC']; ?></option>
|
|
| 103 |
<option value="private" <?php if($fetch_content['commenting'] == 'private') { echo 'selected'; } ?>><?php echo $TEXT['PRIVATE']; ?></option>
|
|
| 104 |
</select> |
|
| 105 |
</td> |
|
| 106 |
</tr> |
|
| 107 |
<?php if(extension_loaded('gd') AND function_exists('imageCreateFromJpeg')) { /* Make's sure GD library is installed */ ?>
|
|
| 108 |
<tr> |
|
| 109 |
<td class="setting_name"><?php echo $TEXT['CAPTCHA_VERIFICATION']; ?>:</td> |
|
| 110 |
<td> |
|
| 111 |
<input type="radio" name="use_captcha" id="use_captcha_true" value="1"<?php if($fetch_content['use_captcha'] == true) { echo ' checked'; } ?> />
|
|
| 112 |
<label for="use_captcha_true"><?php echo $TEXT['ENABLED']; ?></label> |
|
| 113 |
<input type="radio" name="use_captcha" id="use_captcha_false" value="0"<?php if($fetch_content['use_captcha'] == false) { echo ' checked'; } ?> />
|
|
| 114 |
<label for="use_captcha_false"><?php echo $TEXT['DISABLED']; ?></label> |
|
| 115 |
</td> |
|
| 116 |
</tr> |
|
| 117 |
<tr> |
|
| 118 |
<td> |
|
| 119 |
<?php echo $TEXT['RESIZE_IMAGE_TO']; ?>: |
|
| 120 |
</td> |
|
| 121 |
<td> |
|
| 122 |
<select name="resize" style="width: 100%;"> |
|
| 123 |
<option value=""><?php echo $TEXT['NONE']; ?></option> |
|
| 124 |
<?php |
|
| 125 |
$SIZES['50'] = '50x50px'; |
|
| 126 |
$SIZES['75'] = '75x75px'; |
|
| 127 |
$SIZES['100'] = '100x100px'; |
|
| 128 |
$SIZES['125'] = '125x125px'; |
|
| 129 |
$SIZES['150'] = '150x150px'; |
|
| 130 |
foreach($SIZES AS $size => $size_name) {
|
|
| 131 |
if($fetch_content['resize'] == $size) { $selected = ' selected'; } else { $selected = ''; }
|
|
| 132 |
echo '<option value="'.$size.'"'.$selected.'>'.$size_name.'</option>'; |
|
| 133 |
} |
|
| 134 |
?> |
|
| 135 |
</select> |
|
| 136 |
</td> |
|
| 137 |
</tr> |
|
| 138 |
<?php } ?> |
|
| 139 |
<tr> |
|
| 140 |
<td class="setting_name"><?php echo $TEXT['COMMENTS'].' '.$TEXT['HEADER']; ?>:</td> |
|
| 141 |
<td class="setting_name"> |
|
| 142 |
<textarea name="comments_header" style="width: 100%; height: 60px;"><?php echo str_replace($raw, $friendly, ($fetch_content['comments_header'])); ?></textarea> |
|
| 143 |
</td> |
|
| 144 |
</tr> |
|
| 145 |
<tr> |
|
| 146 |
<td class="setting_name"><?php echo $TEXT['COMMENTS'].' '.$TEXT['LOOP']; ?>:</td> |
|
| 147 |
<td class="setting_name"> |
|
| 148 |
<textarea name="comments_loop" style="width: 100%; height: 60px;"><?php echo str_replace($raw, $friendly, ($fetch_content['comments_loop'])); ?></textarea> |
|
| 149 |
</td> |
|
| 150 |
</tr> |
|
| 151 |
<tr> |
|
| 152 |
<td class="setting_name"><?php echo $TEXT['COMMENTS'].' '.$TEXT['FOOTER']; ?>:</td> |
|
| 153 |
<td class="setting_name"> |
|
| 154 |
<textarea name="comments_footer" style="width: 100%; height: 60px;"><?php echo str_replace($raw, $friendly, ($fetch_content['comments_footer'])); ?></textarea> |
|
| 155 |
</td> |
|
| 156 |
</tr> |
|
| 157 |
<tr> |
|
| 158 |
<td class="setting_name"><?php echo $TEXT['COMMENTS'].' '.$TEXT['PAGE']; ?>:</td> |
|
| 159 |
<td class="setting_name"> |
|
| 160 |
<textarea name="comments_page" style="width: 100%; height: 80px;"><?php echo str_replace($raw, $friendly, ($fetch_content['comments_page'])); ?></textarea> |
|
| 161 |
</td> |
|
| 162 |
</tr> |
|
| 163 |
</table> |
|
| 164 |
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
|
| 165 |
<tr> |
|
| 166 |
<td width="105"> </td> |
|
| 167 |
<td align="left"> |
|
| 168 |
<input name="save" type="submit" value="<?php echo $TEXT['SAVE'].' '.$TEXT['SETTINGS']; ?>" style="width: 200px; margin-top: 5px;"></form> |
|
| 169 |
</td> |
|
| 170 |
<td align="right"> |
|
| 171 |
<input type="button" value="<?php echo $TEXT['CANCEL']; ?>" onclick="javascript: window.location = '<?php echo ADMIN_URL; ?>/pages/modify.php?page_id=<?php echo $page_id; ?>';" style="width: 100px; margin-top: 5px;" /> |
|
| 172 |
</td> |
|
| 173 |
</tr> |
|
| 174 |
</table> |
|
| 175 |
|
|
| 176 |
|
|
| 177 |
<?php |
|
| 178 |
|
|
| 179 |
// Print admin footer |
|
| 180 |
$admin->print_footer(); |
|
| 181 |
|
|
| 182 |
?> |
|
| 0 | 183 | |
| branches/2.6.x/wb/modules/news/save_settings.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
// $Id$ |
|
| 4 |
|
|
| 5 |
/* |
|
| 6 |
|
|
| 7 |
Website Baker Project <http://www.websitebaker.org/> |
|
| 8 |
Copyright (C) 2004-2005, Ryan Djurovich |
|
| 9 |
|
|
| 10 |
Website Baker is free software; you can redistribute it and/or modify |
|
| 11 |
it under the terms of the GNU General Public License as published by |
|
| 12 |
the Free Software Foundation; either version 2 of the License, or |
|
| 13 |
(at your option) any later version. |
|
| 14 |
|
|
| 15 |
Website Baker is distributed in the hope that it will be useful, |
|
| 16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 18 |
GNU General Public License for more details. |
|
| 19 |
|
|
| 20 |
You should have received a copy of the GNU General Public License |
|
| 21 |
along with Website Baker; if not, write to the Free Software |
|
| 22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 23 |
|
|
| 24 |
*/ |
|
| 25 |
|
|
| 26 |
require('../../config.php');
|
|
| 27 |
|
|
| 28 |
// Include WB admin wrapper script |
|
| 29 |
$update_when_modified = true; // Tells script to update when this page was last updated |
|
| 30 |
require(WB_PATH.'/modules/admin.php'); |
|
| 31 |
|
|
| 32 |
// This code removes any <?php tags and adds slashes |
|
| 33 |
$friendly = array('<', '>', '?php');
|
|
| 34 |
$raw = array('<', '>', '');
|
|
| 35 |
$header = $admin->add_slashes(str_replace($friendly, $raw, $_POST['header'])); |
|
| 36 |
$post_loop = $admin->add_slashes(str_replace($friendly, $raw, $_POST['post_loop'])); |
|
| 37 |
$footer = $admin->add_slashes(str_replace($friendly, $raw, $_POST['footer'])); |
|
| 38 |
$post_header = $admin->add_slashes(str_replace($friendly, $raw, $_POST['post_header'])); |
|
| 39 |
$post_footer = $admin->add_slashes(str_replace($friendly, $raw, $_POST['post_footer'])); |
|
| 40 |
$comments_header = $admin->add_slashes(str_replace($friendly, $raw, $_POST['comments_header'])); |
|
| 41 |
$comments_loop = $admin->add_slashes(str_replace($friendly, $raw, $_POST['comments_loop'])); |
|
| 42 |
$comments_footer = $admin->add_slashes(str_replace($friendly, $raw, $_POST['comments_footer'])); |
|
| 43 |
$comments_page = $admin->add_slashes(str_replace($friendly, $raw, $_POST['comments_page'])); |
|
| 44 |
$commenting = $_POST['commenting']; |
|
| 45 |
$posts_per_page = $_POST['posts_per_page']; |
|
| 46 |
if(extension_loaded('gd') AND function_exists('imageCreateFromJpeg')) {
|
|
| 47 |
$resize = $_POST['resize']; |
|
| 48 |
$use_captcha = $_POST['use_captcha']; |
|
| 49 |
} else {
|
|
| 50 |
$resize = ''; |
|
| 51 |
$use_captcha = false; |
|
| 52 |
} |
|
| 53 |
|
|
| 54 |
// Update settings |
|
| 55 |
$database->query("UPDATE ".TABLE_PREFIX."mod_news_settings SET header = '$header', post_loop = '$post_loop', footer = '$footer', posts_per_page = '$posts_per_page', post_header = '$post_header', post_footer = '$post_footer', comments_header = '$comments_header', comments_loop = '$comments_loop', comments_footer = '$comments_footer', comments_page = '$comments_page', commenting = '$commenting', resize = '$resize', use_captcha = '$use_captcha' WHERE section_id = '$section_id'");
|
|
| 56 |
|
|
| 57 |
// Check if there is a db error, otherwise say successful |
|
| 58 |
if($database->is_error()) {
|
|
| 59 |
$admin->print_error($database->get_error(), ADMIN_URL.'/pages/modify.php?page_id='.$page_id); |
|
| 60 |
} else {
|
|
| 61 |
$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id); |
|
| 62 |
} |
|
| 63 |
|
|
| 64 |
// Print admin footer |
|
| 65 |
$admin->print_footer(); |
|
| 66 |
|
|
| 67 |
?> |
|
| 0 | 68 | |
| branches/2.6.x/wb/modules/news/submit_comment.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
// $Id$ |
|
| 4 |
|
|
| 5 |
/* |
|
| 6 |
|
|
| 7 |
Website Baker Project <http://www.websitebaker.org/> |
|
| 8 |
Copyright (C) 2004-2005, Ryan Djurovich |
|
| 9 |
|
|
| 10 |
Website Baker is free software; you can redistribute it and/or modify |
|
| 11 |
it under the terms of the GNU General Public License as published by |
|
| 12 |
the Free Software Foundation; either version 2 of the License, or |
|
| 13 |
(at your option) any later version. |
|
| 14 |
|
|
| 15 |
Website Baker is distributed in the hope that it will be useful, |
|
| 16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 18 |
GNU General Public License for more details. |
|
| 19 |
|
|
| 20 |
You should have received a copy of the GNU General Public License |
|
| 21 |
along with Website Baker; if not, write to the Free Software |
|
| 22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 23 |
|
|
| 24 |
*/ |
|
| 25 |
|
|
| 26 |
// Include config file |
|
| 27 |
require('../../config.php');
|
|
| 28 |
|
|
| 29 |
require_once(WB_PATH.'/framework/class.wb.php'); |
|
| 30 |
$wb = new wb; |
|
| 31 |
|
|
| 32 |
// Check if we should show the form or add a comment |
|
| 33 |
if(is_numeric($_GET['page_id']) AND is_numeric($_GET['section_id']) AND isset($_GET['post_id']) AND is_numeric($_GET['post_id']) AND isset($_POST['comment']) AND $_POST['comment'] != '') {
|
|
| 34 |
|
|
| 35 |
// Check captcha |
|
| 36 |
if(extension_loaded('gd') AND function_exists('imageCreateFromJpeg')) { /* Make's sure GD library is installed */
|
|
| 37 |
if(isset($_POST['captcha']) AND $_POST['captcha'] != ''){
|
|
| 38 |
// Check for a mismatch |
|
| 39 |
if(!isset($_POST['captcha']) OR !isset($_SESSION['captcha']) OR $_POST['captcha'] != $_SESSION['captcha']) {
|
|
| 40 |
$_SESSION['captcha_error'] = $MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA']; |
|
| 41 |
$_SESSION['comment_title'] = $_POST['title']; |
|
| 42 |
$_SESSION['comment_body'] = $_POST['comment']; |
|
| 43 |
exit(header('Location: '.WB_URL.'/modules/news/comment.php?id='.$_GET['post_id']));
|
|
| 44 |
} |
|
| 45 |
} else {
|
|
| 46 |
$_SESSION['captcha_error'] = $MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA']; |
|
| 47 |
$_SESSION['comment_title'] = $_POST['title']; |
|
| 48 |
$_SESSION['comment_body'] = $_POST['comment']; |
|
| 49 |
exit(header('Location: '.WB_URL.'/modules/news/comment.php?id='.$_GET['post_id']));
|
|
| 50 |
} |
|
| 51 |
} |
|
| 52 |
if(isset($_SESSION['catpcha'])) { unset($_SESSION['captcha']); }
|
|
| 53 |
|
|
| 54 |
// Insert the comment into db |
|
| 55 |
$page_id = $_GET['page_id']; |
|
| 56 |
$section_id = $_GET['section_id']; |
|
| 57 |
$post_id = $_GET['post_id']; |
|
| 58 |
$title = $wb->add_slashes(strip_tags($_POST['title'])); |
|
| 59 |
$comment = $wb->add_slashes(strip_tags($_POST['comment'])); |
|
| 60 |
$commented_when = mktime(); |
|
| 61 |
if($wb->is_authenticated() == true) {
|
|
| 62 |
$commented_by = $wb->get_user_id(); |
|
| 63 |
} else {
|
|
| 64 |
$commented_by = ''; |
|
| 65 |
} |
|
| 66 |
$query = $database->query("INSERT INTO ".TABLE_PREFIX."mod_news_comments (section_id,page_id,post_id,title,comment,commented_when,commented_by) VALUES ('$section_id','$page_id','$post_id','$title','$comment','$commented_when','$commented_by')");
|
|
| 67 |
// Get page link |
|
| 68 |
$query_page = $database->query("SELECT link FROM ".TABLE_PREFIX."mod_news_posts WHERE post_id = '$post_id'");
|
|
| 69 |
$page = $query_page->fetchRow(); |
|
| 70 |
header('Location: '.$wb->page_link($page['link']).'?id='.$post_id);
|
|
| 71 |
|
|
| 72 |
} else {
|
|
| 73 |
header('Location: '.WB_URL.'/pages/');
|
|
| 74 |
} |
|
| 75 |
|
|
| 76 |
?> |
|
| 0 | 77 | |
| branches/2.6.x/wb/modules/news/add.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
// $Id$ |
|
| 4 |
|
|
| 5 |
/* |
|
| 6 |
|
|
| 7 |
Website Baker Project <http://www.websitebaker.org/> |
|
| 8 |
Copyright (C) 2004-2005, Ryan Djurovich |
|
| 9 |
|
|
| 10 |
Website Baker is free software; you can redistribute it and/or modify |
|
| 11 |
it under the terms of the GNU General Public License as published by |
|
| 12 |
the Free Software Foundation; either version 2 of the License, or |
|
| 13 |
(at your option) any later version. |
|
| 14 |
|
|
| 15 |
Website Baker is distributed in the hope that it will be useful, |
|
| 16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 18 |
GNU General Public License for more details. |
|
| 19 |
|
|
| 20 |
You should have received a copy of the GNU General Public License |
|
| 21 |
along with Website Baker; if not, write to the Free Software |
|
| 22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 23 |
|
|
| 24 |
*/ |
|
| 25 |
|
|
| 26 |
// Must include code to stop this file being access directly |
|
| 27 |
if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
|
|
| 28 |
|
|
| 29 |
$header = '<style type=\"text/css\"> |
|
| 30 |
.post_title, .post_date { border-bottom: 1px solid #DDDDDD; }
|
|
| 31 |
.post_title { font-weight: bold; font-size: 12px; color: #000000; }
|
|
| 32 |
.post_date { text-align: right; font-weight: bold; }
|
|
| 33 |
.post_short { text-align: justify; padding-bottom: 5px; }
|
|
| 34 |
</style> |
|
| 35 |
<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\">'; |
|
| 36 |
$post_loop = '<tr class=\"post_top\"> |
|
| 37 |
<td class=\"post_title\"><a href=\"[LINK]\">[TITLE]</a></td> |
|
| 38 |
<td class=\"post_date\">[TIME], [DATE]</td> |
|
| 39 |
</tr> |
|
| 40 |
<tr> |
|
| 41 |
<td class=\"post_short\" colspan=\"2\"> |
|
| 42 |
[SHORT] |
|
| 43 |
<a href=\"[LINK]\">[TEXT_READ_MORE]</a> |
|
| 44 |
</td> |
|
| 45 |
</tr>'; |
|
| 46 |
$footer = '</table> |
|
| 47 |
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="display: [DISPLAY_PREVIOUS_NEXT_LINKS]"> |
|
| 48 |
<tr> |
|
| 49 |
<td width="35%" align="left">[PREVIOUS_PAGE_LINK]</td> |
|
| 50 |
<td width="30%" align="center">[OF]</td> |
|
| 51 |
<td width="35%" align="right">[NEXT_PAGE_LINK]</td> |
|
| 52 |
</tr> |
|
| 53 |
</table>'; |
|
| 54 |
$post_header = addslashes('<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
|
| 55 |
<tr> |
|
| 56 |
<td height="30"><h1>[TITLE]</h1></td> |
|
| 57 |
<td rowspan="3" style="display: [DISPLAY_IMAGE]"><img src="[GROUP_IMAGE]" alt="[GROUP_TITLE]" /></td> |
|
| 58 |
</tr> |
|
| 59 |
<tr> |
|
| 60 |
<td valign="top"><b>Posted by [DISPLAY_NAME] ([USERNAME]) on [DATE] at [TIME]</b></td> |
|
| 61 |
</tr> |
|
| 62 |
<tr style="display: [DISPLAY_GROUP]"> |
|
| 63 |
<td valign="top"><a href="[BACK]">[PAGE_TITLE]</a> >> <a href="[BACK]?g=[GROUP_ID]">[GROUP_TITLE]</a></td> |
|
| 64 |
</tr> |
|
| 65 |
</table> |
|
| 66 |
<p style="text-align: justify;">'); |
|
| 67 |
$post_footer = '</p> |
|
| 68 |
<a href=\"[BACK]\">Back</a>'; |
|
| 69 |
$comments_header = addslashes('<br /><br />
|
|
| 70 |
<style type="text/css"> |
|
| 71 |
.comment_title { font-weight: bold; }
|
|
| 72 |
.comment_text { font-weight: bold; background-color: #FDFDFD; border-bottom: 1px solid #DDDDDD; padding-bottom: 15px; }
|
|
| 73 |
.comment_title, .comment_text { border-left: 1px solid #DDDDDD; }
|
|
| 74 |
.comment_info { text-align: right; border-right: 1px solid #DDDDDD; }
|
|
| 75 |
.comment_title, .comment_info { border-top: 1px solid #DDDDDD; background-color: #EEEEEE; }
|
|
| 76 |
</style> |
|
| 77 |
<h2>Comments</h2> |
|
| 78 |
<table cellpadding="2" cellspacing="0" border="0" width="100%">'); |
|
| 79 |
$comments_loop = addslashes('<tr>
|
|
| 80 |
<td class="comment_title">[TITLE]</td> |
|
| 81 |
<td class="comment_info">By [DISPLAY_NAME] on [DATE] at [TIME]</td> |
|
| 82 |
</tr> |
|
| 83 |
<tr> |
|
| 84 |
<td colspan="2" class="comment_text">[COMMENT]</td> |
|
| 85 |
</tr>'); |
|
| 86 |
$comments_footer = '</table> |
|
| 87 |
<br /><a href=\"[ADD_COMMENT_URL]\">Add Comment</a>'; |
|
| 88 |
$comments_page = '<h1>Comment</h1> |
|
| 89 |
<h2>[POST_TITLE]</h2> |
|
| 90 |
<br />'; |
|
| 91 |
$commenting = 'none'; |
|
| 92 |
$use_captcha = true; |
|
| 93 |
$database->query("INSERT INTO ".TABLE_PREFIX."mod_news_settings (section_id,page_id,header,post_loop,footer,post_header,post_footer,comments_header,comments_loop,comments_footer,comments_page,commenting,use_captcha) VALUES ('$section_id','$page_id','$header','$post_loop','$footer','$post_header','$post_footer','$comments_header','$comments_loop','$comments_footer','$comments_page','$commenting','$use_captcha')");
|
|
| 94 |
|
|
| 95 |
?> |
|
| 0 | 96 | |
| branches/2.6.x/wb/modules/news/view.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
// $Id$ |
|
| 4 |
|
|
| 5 |
/* |
|
| 6 |
|
|
| 7 |
Website Baker Project <http://www.websitebaker.org/> |
|
| 8 |
Copyright (C) 2004-2005, Ryan Djurovich |
|
| 9 |
|
|
| 10 |
Website Baker is free software; you can redistribute it and/or modify |
|
| 11 |
it under the terms of the GNU General Public License as published by |
|
| 12 |
the Free Software Foundation; either version 2 of the License, or |
|
| 13 |
(at your option) any later version. |
|
| 14 |
|
|
| 15 |
Website Baker is distributed in the hope that it will be useful, |
|
| 16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 18 |
GNU General Public License for more details. |
|
| 19 |
|
|
| 20 |
You should have received a copy of the GNU General Public License |
|
| 21 |
along with Website Baker; if not, write to the Free Software |
|
| 22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 23 |
|
|
| 24 |
*/ |
|
| 25 |
|
|
| 26 |
// Must include code to stop this file being access directly |
|
| 27 |
if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
|
|
| 28 |
|
|
| 29 |
// Check if there is a start point defined |
|
| 30 |
if(isset($_GET['p']) AND is_numeric($_GET['p']) AND $_GET['p'] >= 0) {
|
|
| 31 |
$position = $_GET['p']; |
|
| 32 |
} else {
|
|
| 33 |
$position = 0; |
|
| 34 |
} |
|
| 35 |
|
|
| 36 |
// Get user's username, display name, email, and id - needed for insertion into post info |
|
| 37 |
$users = array(); |
|
| 38 |
$query_users = $database->query("SELECT user_id,username,display_name,email FROM ".TABLE_PREFIX."users");
|
|
| 39 |
if($query_users->numRows() > 0) {
|
|
| 40 |
while($user = $query_users->fetchRow()) {
|
|
| 41 |
// Insert user info into users array |
|
| 42 |
$user_id = $user['user_id']; |
|
| 43 |
$users[$user_id]['username'] = $user['username']; |
|
| 44 |
$users[$user_id]['display_name'] = $user['display_name']; |
|
| 45 |
$users[$user_id]['email'] = $user['email']; |
|
| 46 |
} |
|
| 47 |
} |
|
| 48 |
|
|
| 49 |
// Get groups (title, if they are active, and their image [if one has been uploaded]) |
|
| 50 |
$groups[0]['title'] = ''; |
|
| 51 |
$groups[0]['active'] = true; |
|
| 52 |
$groups[0]['image'] = ''; |
|
| 53 |
$query_users = $database->query("SELECT group_id,title,active FROM ".TABLE_PREFIX."mod_news_groups WHERE section_id = '$section_id' ORDER BY position ASC");
|
|
| 54 |
if($query_users->numRows() > 0) {
|
|
| 55 |
while($group = $query_users->fetchRow()) {
|
|
| 56 |
// Insert user info into users array |
|
| 57 |
$group_id = $group['group_id']; |
|
| 58 |
$groups[$group_id]['title'] = ($group['title']); |
|
| 59 |
$groups[$group_id]['active'] = $group['active']; |
|
| 60 |
if(file_exists(WB_PATH.MEDIA_DIRECTORY.'/.news/image'.$group_id.'.jpg')) {
|
|
| 61 |
$groups[$group_id]['image'] = WB_URL.MEDIA_DIRECTORY.'/.news/image'.$group_id.'.jpg'; |
|
| 62 |
} else {
|
|
| 63 |
$groups[$group_id]['image'] = ''; |
|
| 64 |
} |
|
| 65 |
} |
|
| 66 |
} |
|
| 67 |
|
|
| 68 |
// Check if we should show the main page or a post itself |
|
| 69 |
if(!defined('POST_ID') OR !is_numeric(POST_ID)) {
|
|
| 70 |
|
|
| 71 |
// Check if we should only list posts from a certain group |
|
| 72 |
if(isset($_GET['g']) AND is_numeric($_GET['g'])) {
|
|
| 73 |
$query_extra = " AND group_id = '".$_GET['g']."'"; |
|
| 74 |
?> |
|
| 75 |
<style type="text/css">.selected_group_title { font-size: 14px; text-align: center; }</style>
|
|
| 76 |
<?php |
|
| 77 |
} else {
|
|
| 78 |
$query_extra = ''; |
|
| 79 |
} |
|
| 80 |
|
|
| 81 |
// Get settings |
|
| 82 |
$query_settings = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '$section_id'");
|
|
| 83 |
if($query_settings->numRows() > 0) {
|
|
| 84 |
$fetch_settings = $query_settings->fetchRow(); |
|
| 85 |
$setting_header = ($fetch_settings['header']); |
|
| 86 |
$setting_post_loop = ($fetch_settings['post_loop']); |
|
| 87 |
$setting_footer = ($fetch_settings['footer']); |
|
| 88 |
$setting_posts_per_page = $fetch_settings['posts_per_page']; |
|
| 89 |
} else {
|
|
| 90 |
$setting_header = ''; |
|
| 91 |
$setting_post_loop = ''; |
|
| 92 |
$setting_footer = ''; |
|
| 93 |
$setting_posts_per_page = ''; |
|
| 94 |
} |
|
| 95 |
|
|
| 96 |
// Get total number of posts |
|
| 97 |
$query_total_num = $database->query("SELECT post_id FROM ".TABLE_PREFIX."mod_news_posts WHERE section_id = '$section_id' AND active = '1' AND title != ''$query_extra");
|
|
| 98 |
$total_num = $query_total_num->numRows(); |
|
| 99 |
|
|
| 100 |
// Work-out if we need to add limit code to sql |
|
| 101 |
if($setting_posts_per_page != 0) {
|
|
| 102 |
$limit_sql = " LIMIT $position,$setting_posts_per_page"; |
|
| 103 |
} else {
|
|
| 104 |
$limit_sql = ""; |
|
| 105 |
} |
|
| 106 |
|
|
| 107 |
// Query posts (for this page) |
|
| 108 |
$query_posts = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_posts WHERE section_id = '$section_id' AND active = '1' AND title != ''$query_extra ORDER BY position DESC".$limit_sql);
|
|
| 109 |
$num_posts = $query_posts->numRows(); |
|
| 110 |
|
|
| 111 |
// Create previous and next links |
|
| 112 |
if($setting_posts_per_page != 0) {
|
|
| 113 |
if($position > 0) {
|
|
| 114 |
if(isset($_GET['g']) AND is_numeric($_GET['g'])) {
|
|
| 115 |
$pl_prepend = '<a href="?p='.($position-$setting_posts_per_page).'&g='.$_GET['g'].'"><< '; |
|
| 116 |
} else {
|
|
| 117 |
$pl_prepend = '<a href="?p='.($position-$setting_posts_per_page).'"><< '; |
|
| 118 |
} |
|
| 119 |
$pl_append = '</a>'; |
|
| 120 |
$previous_link = $pl_prepend.$TEXT['PREVIOUS'].$pl_append; |
|
| 121 |
$previous_page_link = $pl_prepend.$TEXT['PREVIOUS_PAGE'].$pl_append; |
|
| 122 |
} else {
|
|
| 123 |
$previous_link = ''; |
|
| 124 |
$previous_page_link = ''; |
|
| 125 |
} |
|
| 126 |
if($position+$setting_posts_per_page >= $total_num) {
|
|
| 127 |
$next_link = ''; |
|
| 128 |
$next_page_link = ''; |
|
| 129 |
} else {
|
|
| 130 |
if(isset($_GET['g']) AND is_numeric($_GET['g'])) {
|
|
| 131 |
$nl_prepend = '<a href="?p='.($position+$setting_posts_per_page).'&g='.$_GET['g'].'"> '; |
|
| 132 |
} else {
|
|
| 133 |
$nl_prepend = '<a href="?p='.($position+$setting_posts_per_page).'"> '; |
|
| 134 |
} |
|
| 135 |
$nl_append = ' >></a>'; |
|
| 136 |
$next_link = $nl_prepend.$TEXT['NEXT'].$nl_append; |
|
| 137 |
$next_page_link = $nl_prepend.$TEXT['NEXT_PAGE'].$nl_append; |
|
| 138 |
} |
|
| 139 |
if($position+$setting_posts_per_page > $total_num) {
|
|
| 140 |
$num_of = $position+$num_posts; |
|
| 141 |
} else {
|
|
| 142 |
$num_of = $position+$setting_posts_per_page; |
|
| 143 |
} |
|
| 144 |
$out_of = ($position+1).'-'.$num_of.' '.strtolower($TEXT['OUT_OF']).' '.$total_num; |
|
| 145 |
$of = ($position+1).'-'.$num_of.' '.strtolower($TEXT['OF']).' '.$total_num; |
|
| 146 |
$display_previous_next_links = ''; |
|
| 147 |
} else {
|
|
| 148 |
$display_previous_next_links = 'none'; |
|
| 149 |
} |
|
| 150 |
|
|
| 151 |
// Print header |
|
| 152 |
if($display_previous_next_links == 'none') {
|
|
| 153 |
echo str_replace(array('[NEXT_PAGE_LINK]','[NEXT_LINK]','[PREVIOUS_PAGE_LINK]','[PREVIOUS_LINK]','[OUT_OF]','[OF]','[DISPLAY_PREVIOUS_NEXT_LINKS]'), array('','','','','','', $display_previous_next_links), $setting_header);
|
|
| 154 |
} else {
|
|
| 155 |
echo str_replace(array('[NEXT_PAGE_LINK]','[NEXT_LINK]','[PREVIOUS_PAGE_LINK]','[PREVIOUS_LINK]','[OUT_OF]','[OF]','[DISPLAY_PREVIOUS_NEXT_LINKS]'), array($next_page_link, $next_link, $previous_page_link, $previous_link, $out_of, $of, $display_previous_next_links), $setting_header);
|
|
| 156 |
} |
|
| 157 |
|
|
| 158 |
if($num_posts > 0) {
|
|
| 159 |
if($query_extra != '') {
|
|
| 160 |
?> |
|
| 161 |
<div class="selected_group_title"> |
|
| 162 |
<?php echo '<a href="'.$_SERVER['PHP_SELF'].'">'.PAGE_TITLE.'</a> >> '.$groups[$_GET['g']]['title']; ?> |
|
| 163 |
</div> |
|
| 164 |
<?php |
|
| 165 |
} |
|
| 166 |
while($post = $query_posts->fetchRow()) {
|
|
| 167 |
if(isset($groups[$post['group_id']]['active']) AND $groups[$post['group_id']]['active'] != false) { // Make sure parent group is active
|
|
| 168 |
$uid = $post['posted_by']; // User who last modified the post |
|
| 169 |
// Workout date and time of last modified post |
|
| 170 |
$post_date = gmdate(DATE_FORMAT, $post['posted_when']+TIMEZONE); |
|
| 171 |
$post_time = gmdate(TIME_FORMAT, $post['posted_when']+TIMEZONE); |
|
| 172 |
// Work-out the post link |
|
| 173 |
$post_link = page_link($post['link']); |
|
| 174 |
if(isset($_GET['p']) AND $position > 0) {
|
|
| 175 |
$post_link .= '?p='.$position; |
|
| 176 |
} |
|
| 177 |
if(isset($_GET['g']) AND is_numeric($_GET['g'])) {
|
|
| 178 |
if(isset($_GET['p']) AND $position > 0) { $post_link .= '&'; } else { $post_link .= '?'; }
|
|
| 179 |
$post_link .= 'g='.$_GET['g']; |
|
| 180 |
} |
|
| 181 |
// Get group id, title, and image |
|
| 182 |
$group_id = $post['group_id']; |
|
| 183 |
$group_title = $groups[$group_id]['title']; |
|
| 184 |
$group_image = $groups[$group_id]['image']; |
|
| 185 |
if($group_image == '') { $display_image = 'none'; } else { $display_image = ''; }
|
|
| 186 |
if($group_id == 0) { $display_group = 'none'; } else { $display_group = ''; }
|
|
| 187 |
// Replace [wblink--PAGE_ID--] with real link |
|
| 188 |
$short = ($post['content_short']); |
|
| 189 |
$wb->preprocess($short); |
|
| 190 |
// Replace vars with values |
|
| 191 |
$post_long_len = strlen($post['content_long']); |
|
| 192 |
$vars = array('[PAGE_TITLE]', '[GROUP_ID]', '[GROUP_TITLE]', '[GROUP_IMAGE]', '[DISPLAY_GROUP]', '[DISPLAY_IMAGE]', '[TITLE]', '[SHORT]', '[LINK]', '[DATE]', '[TIME]', '[USER_ID]', '[USERNAME]', '[DISPLAY_NAME]', '[EMAIL]', '[TEXT_READ_MORE]');
|
|
| 193 |
if(isset($users[$uid]['username']) AND $users[$uid]['username'] != '') {
|
|
| 194 |
if($post_long_len < 9) {
|
|
| 195 |
$values = array(PAGE_TITLE, $group_id, $group_title, $group_image, $display_group, $display_image, $post['title'], $short, $post_link, $post_date, $post_time, $uid, $users[$uid]['username'], $users[$uid]['display_name'], $users[$uid]['email'], ''); |
|
| 196 |
} else {
|
|
| 197 |
$values = array(PAGE_TITLE, $group_id, $group_title, $group_image, $display_group, $display_image, $post['title'], $short, $post_link, $post_date, $post_time, $uid, $users[$uid]['username'], $users[$uid]['display_name'], $users[$uid]['email'], $TEXT['READ_MORE']); |
|
| 198 |
} |
|
| 199 |
} else {
|
|
| 200 |
if($post_long_len < 9) {
|
|
| 201 |
$values = array(PAGE_TITLE, $group_id, $group_title, $group_image, $display_group, $display_image, $post['title'], $short, $post_link, $post_date, $post_time, '', '', '', '', ''); |
|
| 202 |
} else {
|
|
| 203 |
$values = array(PAGE_TITLE, $group_id, $group_title, $group_image, $display_group, $display_image, $post['title'], $short, $post_link, $post_date, $post_time, '', '', '', '', $TEXT['READ_MORE']); |
|
| 204 |
} |
|
| 205 |
} |
|
| 206 |
echo str_replace($vars, $values, $setting_post_loop); |
|
| 207 |
} |
|
| 208 |
} |
|
| 209 |
} |
|
| 210 |
|
|
| 211 |
// Print footer |
|
| 212 |
if($display_previous_next_links == 'none') {
|
|
| 213 |
echo str_replace(array('[NEXT_PAGE_LINK]','[NEXT_LINK]','[PREVIOUS_PAGE_LINK]','[PREVIOUS_LINK]','[OUT_OF]','[OF]','[DISPLAY_PREVIOUS_NEXT_LINKS]'), array('','','','','','', $display_previous_next_links), $setting_footer);
|
|
| 214 |
} else {
|
|
| 215 |
echo str_replace(array('[NEXT_PAGE_LINK]','[NEXT_LINK]','[PREVIOUS_PAGE_LINK]','[PREVIOUS_LINK]','[OUT_OF]','[OF]','[DISPLAY_PREVIOUS_NEXT_LINKS]'), array($next_page_link, $next_link, $previous_page_link, $previous_link, $out_of, $of, $display_previous_next_links), $setting_footer);
|
|
| 216 |
} |
|
| 217 |
|
|
| 218 |
} elseif(defined('POST_ID') AND is_numeric(POST_ID)) {
|
|
| 219 |
|
|
Also available in: Unified diff
Creating 2.6.x branch