Revision 274
Added by ryan almost 19 years ago
tags/2.6.1/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 |
tags/2.6.1/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 |
tags/2.6.1/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 |
tags/2.6.1/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 |
tags/2.6.1/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 |
tags/2.6.1/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 |
tags/2.6.1/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 |
tags/2.6.1/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 |
tags/2.6.1/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.1 tag